问答详情
源自:4-10 循环结构之三种循环比较

为什么flag不等于-i?

#include <stdio.h>

int main()

{

    /* 小伙伴们:

           选择你们认为最合理的循环结构完成功能吧 */

    int sum = 0;  //定义计算结果变量sum

    int i = 1;    //定义循环数字变量i

    int flag = 1; //定义符号状态变量flag

    

    //使用for循环

    for(i=1;i<=100;i++)

    {

        i++;

        flag=-i-1;

        sum+=i+flag;

    }  

    printf("sum=%d\n",sum); 

    

    return 0;    

}

提问者:因比囚 2018-07-25 12:42

个回答

  • 因比囚
    2018-07-25 13:33:45

    为什么在i++之后,flag=-i-1中的i为1,而当循环至for(i=1;i<=100;i++)中的i++时i=i+1=2+1?

    中间并没有i值的变化

  • 因比囚
    2018-07-25 13:01:12

    i++之后如果i=1,那么i++有什么用呢

  • 慕九州5552665
    2018-07-25 12:57:43

    flag怎么能=-i 呢?因为任务是使用循环计算1-2+3-4+5-6+…-100的值,所以flag是一个变量,它代表负数,又因为-1-1=-2                所以要用-i-1