1和100相加 n++位置问题

来源:百度知道 编辑:UC知道 时间:2024/07/03 11:05:28
请教下,本人新手
#include<stdio.h>
main(){ int s,n;
s=0;
for (n=1;n<=100;)
{n++;
s=s+n;

}
printf(" sum is %d\n ",s);

}
和#include<stdio.h>
main(){ int s,n;
s=0;
for (n=1;n<=100;)
{
s=s+n;
n++;
}
printf(" sum is %d\n ",s);

}
区别
为什么答案不一样
上面的是5151
下面的是5050

#include<stdio.h>
main(){ int s,n;
s=0;
for (n=1;n<=100;)//n=1
{n++;//n++之后就变2了
s=s+n;//s=s+2
}//循环从2加到101 为 5151
printf(" sum is %d\n ",s);
}

#include<stdio.h>
main(){ int s,n;
s=0;
for (n=1;n<=100;)//n=1
{
s=s+n;//s=s+1
n++;//n++ n=2
}//循环从1加到100 为 5050
printf(" sum is %d\n ",s);

}

答案一样 运行时侯:第一个先自加,在运算。第二个先运算在自加。