#include <stdio.h>int main(){ int sum = 0; //定义计算结果变量sum int i = 1; //定义循环数字变量i int flag = 1; //定义符号状态变量flag while(i<=100) { i++;//问题在这里:关于i++;这一行代码,执行完这行代码后i的值是多少。因为我执行代码的时候关于sum+=i*flag;这一行代码的位置问题,我放在i++;这一行代码的前面和后面对结果都没有影响,请问为 什么。 sum += i*flag; flag *= -1; } printf("sum=%d\n",sum); return 0; }这个题目是求1-2+3-4+5...-100的值。
1 回答
已采纳
angie
TA贡献56条经验 获得超8个赞
你仔细分析一下就可以得出的结论:出现结果一样只是偶然结果,你放在 i++ 前面就是求 1-2+3-4+5...-100;而放在 i++ 后面就是求 2-3+4-5...+100-101 了,不管求谁结果都是一样的。
对于 i++ 的结果,该语句相当于 i = i+1
- 1 回答
- 0 关注
- 1288 浏览
添加回答
举报
0/150
提交
取消