为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这个代码是死循环

#include <stdio.h>

int main()

{

    int sum = 0;  

    int i = 1;    

    for(;i<=10;i++)

    {

        sum=sum+i;

        i=-i;

    }  

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

    

    return 0;    

}


正在回答

3 回答

如果你一定要这样做的话,就用一个三目运算符。

就是这样 for(int i = 1;i<=100;i>0?i++:i--)

0 回复 有任何疑惑可以回复我~
#1

威恶

定义不是要在for循环之前吗
2019-07-27 回复 有任何疑惑可以回复我~
#2

小小疾飞 回复 威恶

都可以 for循环自己也有顺序
2019-07-28 回复 有任何疑惑可以回复我~

为什么的话,我想应该是这样。首先i=1.然后i=-i 所以i=-1 然后 i++。i就等于0了。i=-i。 i还是等于0,i++然后i又等于1了。所以是死循环。

0 回复 有任何疑惑可以回复我~

应该重新定义一个常量,用这个常量来控制符号的正负

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这个代码是死循环

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信