给的前两个参考代码是不是有问题
虽然输出的结果都是-50 但是前两个代码表示的是不是2-3+4-5+……-101
虽然输出的结果都是-50 但是前两个代码表示的是不是2-3+4-5+……-101
2016-08-08
#include<stdio.h>
int main()
{
int sum=0;
int i=1;
int flag=1;
while(i<=100)
{
i++;
sum+=i*flag;
flag*=-1;
}
printf("%d",sum);
return 0;
}
/*如果i++ 在 sum+=i*flag; 中i 的值是2,那么循环过程是,2-3+4-5+6-7+8.。。。。。。
问题来了,当 i=100时,while(i<=100)判断成立,那么 sum+=i*flag;中 i 的值就是101,再
乘以flag.这时slag为负1.因为每逢 i 的值为奇数时flag中都为负1.那么101为负值。-101.
你写一个程序。计算2-3+4-5+6-7+8-9。。。。。直到100。计算结果。再减去101.
我可以告诉你结果。也是-50.
举报