帮忙看看这段c++代码哪里出问题了

王朝知道·作者佚名  2010-06-16
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

#include <stdarg.h>

int add_all(int num, ...)

{

int ret = 0;

va_list vl;

vl_start(vl, num);

while(num-- > 0)

{

ret += va_arg(vl, int);

}

va_end(vl);

}

void main()

{

int num = add_all(5, 1, 2, 3, 4, 5);

}

參考答案:

1.vl_start(vl, num); 写错了,应该是va_start(vl, num);

2.add_all函数没有返回值,你完成累加后没有返回,那函数就没有作用了,所以在最后返回累加值 return ret;

3.程序没有输出字符,那你就不知道到底有没有运行正确了,这个不是错误,只是让你看看输出结果所以加了输出,修改后的程序如下:

#include <stdarg.h>

#include <iostream>

using namespace std;

int add_all(int num, ...)

{

int ret = 0;

va_list vl;

va_start(vl, num);

while(num-- > 0)

{

ret += va_arg(vl, int);

}

va_end(vl);

return ret;

}

void main()

{

int num = add_all(5, 1, 2, 3, 4, 5);

cout<<num<<endl;

}

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航