for语句求助?
#include <stdio.h>
void main()
{
int i,j,sum=0;
for(i=0,j=100;i<=j;i++,j--)
sum=i+j;
printf("%d\n",sum);
}为什么运行出来是100而不是5050呢?
for(sum=0,i=1;i<=100;i++)
sun=sun+1这个和第五行的运行结果是一样的吗?怎么这个的结果是5050而上面的不是呢?
对于第五行我还有一个疑问
我总觉得上面第一个for语句运行的结果应该是5100,因为最后运行的是50+50=100;这会继续执行的。总共51个50.
而第二个for语句是5050,因为最后一步是50+51=101这个没有疑问。那为什么书上说这两个的运行结果一样呢?
希望能解答的详细点,我说的有点罗嗦,希望您能理解。
[解决办法]
你写错了, 第一个for循环应该是 sum += i+j; 你写成 sum = i+j, 当然是100了。
第一个for循环, 最后运行的的确是 50+50, 但结果应该时 51 个100, 而不是51个50, 即5100。
你可真够迷糊的
[解决办法]
结果是100 因为你每次都重新赋值
别用= 用 += 是在以前的基础上加
[解决办法]
比较好的写法是这样的:
#include <stdio.h>int main(int argc, char* argv[]){ int sum = 0; int i; for(i = 0; i <= 100; i++) { sum += i; } printf("%d\n", sum); return 0;}
[解决办法]
因为你的num开始一直是一直是赋值的,并没有保存之前的数据,所以结果不一样
下面这个可以。你看看
#include <stdio.h>void main(){ int i,j,sum=0; for(i=0,j=100;i<=j;i++,j--) sum += i+j; printf("%d\n",sum);}