以下是我编写的C语言代码,请问哪里出错?(ps:本人新手)

#include<stdio.h> main() { int i=1; int sum=0; if(i<10) { sum=sum+i,i=i+1; }else { printf("连加已完成,总数为%d",sum); } }

第1个回答  2014-03-22
要连加的话,用循环语句,而不是if。你的程序If只执行一次的。
改为:
while(i<10){
sum = sum + i;
i = i + 1;
}
或者使用for循环:
for(i = 0; i<10; i++){
sum = sum + i;
}
学程序遇到错误就及时去找解决办法是个好习惯,在论坛上贴吧都可以大胆去问的。
第2个回答  2014-03-22
你这里是想求从1加到9的总和吧?我看到你有一个i=i+1递增的操作,这个一般出现在循环中

#include<stdio.h>
main()
{
int i=1;
int sum=0;
while(i<10) ////连加的操作,也就是循环啊
{
sum = sum +i;
i=i+1;
}
printf("总数为%d",sum); //输出
}
第3个回答  2014-03-22
#include<stdio.h>
main()
{
int i=1;
int sum=0;

while(i<10)
{
sum=sum+i;
i++;
}
printf("连加已完成,总数为%d\n",sum);
}
这样来连加,你那样不是连接,只是判断而已,只执行一次本回答被提问者采纳
第4个回答  2014-03-22
#include<stdio.h> main() { int i=1; int sum=0; if(i<10) { sum=sum+i;/*这里是分号*/i=i+1; }else { printf("连加已完成,总数为%d",sum); } }
第5个回答  2014-03-22
sum=sum+i,后面不是逗号,应该为分号,逗号的优先级大于赋值号追问

未输出任何值,只是press any key to continue,为什么没有完成连加的行为,是我函数选得不对吗求大神指教!

追答

因为你这个不是循环 只是if else分支 当i=1,满足if条件 执行完if 语句就结束了,不会再返回继续执行,也不会进入else语句 你要是想完成连加 可以用while 循环语句

相似回答