猿问

C语言中i++问题

#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的值。

慕UI6171434
浏览 1289回答 1
1回答

angie

你仔细分析一下就可以得出的结论:出现结果一样只是偶然结果,你放在 i++ 前面就是求 1-2+3-4+5...-100;而放在 i++ 后面就是求 2-3+4-5...+100-101 了,不管求谁结果都是一样的。对于 i++ 的结果,该语句相当于  i = i+1
随时随地看视频慕课网APP
我要回答