这个C语言1到N的和哪里错了呢?

来源:百度知道 编辑:UC知道 时间:2024/09/22 09:48:59
1到N的和。当N为1时结果为1,可是应该为2呀。是哪里出问题了??

#include<stdio.h>
main()
{
int s,a,n;
clrscr();
printf("please input n!!\n");
scanf("%d",&n);
for (a=1,a<=n,a++)
{
s+=a;
}
printf("the result : %d",s);
getch();
}
N为1时怎样弄他才会等于2?

问题1:for 语句中 应该将 “,”改成“;”
问题2:开始的时候没有给s赋初始值,累加应该s=0
至于为什么答案是1而不是2,是for语句在执行时的运行过程了,如果n=1,当a=1时它会先执行s+=,然户a累加,a的值变成了2,此时不满足条件a<=n所以跳出for循环,所以s最终是1

s的初值设为1
s=1