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

C语言入门 4-10---不解

哪个神能否解释一下: do{        sum=sum+flag*i;        i++;        flag=-flag; } 里面的执行代码块具体是怎么样的一个运算过程么?求!

提问者:里夫里夫0 2016-11-17 23:05

个回答

  • 指间次元
    2016-11-19 18:36:04
    已采纳

    首先sum=0;i=1;flag=1;

    循环内部运算:sum=sum+(flag)*i;   i++;  flag=-flag;

     第一次:sum=0+(1)*1;i=1+1;flag=(-1)*1 ;

                   sum=1;i=2;flag=-1;

    第二次:sum=1+(-1)*2;i=2+1;flag=(-1)*(-1);

                    sum=-1;i=3;flag=1;

    第三次:sum=-1+(1)*3;i=4+1;flag=(-1)*1;

                    sum=-1;i=3;flag=1;

    三次运算连起来:sum=1-2+3……如此类推运算到第一百次(主要是改变运算加减符号)

  • 慕粉4061927
    2016-11-18 00:01:41

    从上到下 先执行sum=sum+flag*i;后执行i自增;最后就是flag取相反数。。  不过你想表达do while循环吧?