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

For语句可以把flag和sum写在一行,但是while语句却不行,是为何?

https://img3.mukewang.com/5d5e5aaa00011fb706460400.jpg

For语句可以把flag和sum写在一行,但是while语句却不行,是为何

提问者:erin373 2019-08-22 17:05

个回答

  • C语言从入门到放弃
    2019-08-30 15:27:00

    #include <stdio.h>

    int main()

    {

        /* 小伙伴们:

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

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

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

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

        

        //使用while循环

        while(i<=100)

        {

            i++;

            sum=sum+i*flag; //flag此时是 正1

            flag*=-1; //第二轮 flag是 负1 

            //第三轮flag是 正1 负负得正

        }

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

        

        return 0;    

    }


  • 小神0x00
    2019-08-22 17:25:26

    while没有累加i的值

  • 小神0x00
    2019-08-22 17:24:40

    https://img2.mukewang.com/5d5e5f0d00019da005930205.png

    玄之又玄,众妙之门。  //你那种和这种都不符合题意。