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

为什么最后结果是+50

   int sum = 0;  

    int i = 1;    

    int flag = 1; 

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

    {

        flag*=-1;

        sum+=i*flag;

        

    }  

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

  


提问者:慕UI2492741 2022-08-11 15:18

个回答

  • 琉璃年华3328583
    2022-11-18 20:32:21

    不是少了一个i++,是最后少了一个}

  • 琉璃年华3328583
    2022-11-18 20:28:51

    少了一个 i++

  • 琉璃年华3328583
    2022-11-18 20:24:57

    将两执行命令块顺序换一换

  • 琉璃年华3328583
    2022-11-18 20:23:53

    执行命令块的循序反了,你这样是让flag先为-1进行下去,出来的顺序是-1+2-......+100,

  • HandsomeRed
    2022-08-12 13:51:19

    因为先对flag进行了符号的转变,所以不是1-2+3-4.....,而是-1+2-3+4......,结果就会反过来是+50