运行结果是sum=0,哪里出错了?

来源:4-10 循环结构之三种循环比较

甜菊

2018-10-23 23:33

 //使用for循环

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

    {   

        if(i%2!=0)

        {

            flag=-flag;

        }

        sum==sum+flag*i;

    }  

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

    

    return 0;    

}


写回答 关注

2回答

  • 吃了月亮的猫
    2018-10-26 10:54:26

     if(i%2!=0)

            {

               sum=sum+flag*i;

               flag=-flag;

            }

    换一下位置




    吃了月亮的猫

    还有不要用==

    2018-10-26 10:55:13

    共 1 条回复 >

  • 慕田峪8151806
    2018-10-24 11:29:32

    不要用==,要用=,你试一下。而且,当i为1时,为正号,此时,flag为1,而你的相反,应该把!去掉

    慕田峪815... 回复甜菊

    你看看你写的意思哈,就是每当i为双数时,flag变换一次符号,意思是初始flag为+,到了2就变成-,等到下一次双数,即4的时候又变换成+了,与它本来的意思相违背。应该是每相加一次变换一次符号,这样能懂吗?

    2018-10-27 10:35:02

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题