课程
/后端开发
/C
/C语言入门
两种情况
for(i=1;i<=100;i++)
{
sum+=i*flag;
flag*=(-1);
}
结果是-50,当sum和flag的位置对调的时候,结果又变成了50,怎么会发生这种事?
2015-02-02
源自:C语言入门 4-10
正在回答
这个你要考虑到执行顺序的问题,如果你是把flag放在sum的前面的话,那么第一次循环flag就等于-1,那么sum+=1*-1还是等于-1也就是说所有的偶数都是正数而所有的奇数都是负数,所以结果为50。
在题目中是所有的偶数为负数,所有的奇数为正数,所以你的结果是不对的
少年duck的烦恼 提问者
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答a++的情况
1 回答什么情况下调用外部变量
1 回答函数调用位置
2 回答在if语句后加逗号会出现什么情况
2 回答什么情况?