一道c语言编程代码题目,亲帮忙找一下错误

#include "stdio.h"
int fnc(int num);
int main(int argc, char const *argv[])
{
int n;
n = 5;
int s;
printf("%d\n", n);
fnc(n);
printf("s = %d\n", s);

}
int fnc(int num){
int s = 0;
for (int i = 1; i < num; ++i)
{
s += i;
}

return s;

}
运行结果s = 0, 不知道哪里出了问题,请大家帮一下忙,原谅我是菜鸟级别的

第1个回答  2013-08-01
帮你改好了,自己再仔细分析分析吧。
#include <stdio.h>
int fnc(int num);
int main()
{
int n;
int s;
n = 5;//c语言变量声明都需要放在最前面
printf("%d\n", n);
s=fnc(n);//这里特别注意
printf("s = %d\n", s);
return 0;
}
int fnc(int num){
int s = 0;
int i;//你i都没有申明
for (i=1;i<num;++i)//这里int去掉
{
s += i;
}
return s;
}
第2个回答  2013-08-01

fnc(n);
换成
s = fnc(n);

还有,
你的意思是累加吧?要是这样应该把:
for (int i = 1; i < num; ++i)
中的++i改成i++
第3个回答  2013-08-01
#include "stdio.h"
int fnc(int num);
int main(int argc, char const *argv[])
{
int n;
n = 5;
int s;
printf("%d\n", n);
s=fnc(n);
printf("s = %d\n", s);
return 0;
}
int fnc(int num){
int s = 0;
for (int i=1; i < num; ++i)
{
s += i;
}

return s;

}
你调用函数时,没把调用函数的值赋值给S本回答被提问者采纳
第4个回答  2013-08-01
s= fnc(n);
你的没赋值,所以打印不出来

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网