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

关于4.10答案中while和i++

4.10答案中,while体中语句是这样:

while (i<=100) 

i++;                       //这里i=2了????

sum=sum+i*flag;  //那么这里的i=????

flag=(-1)*flag;}

请问一进入循环体 i++ 就是i=i+1,,那不是等于2了?这样第一次循环就是从2开始加的啊?不是从1开始了,而且flag=(-1)*flag,再次进入就是-3了?

正在回答

2 回答

你不明白的地方在4.8中

在第四章第八课,左侧流程示意图中。

我知道你问的是 while 循环,你把 for 弄明白了就明白这个了。

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

表达式一。i=1  给 i 一个初值 1 。

表达式二。i<=100 .  判断语句,是否满足结束条件。

表达式三。 i ++    ,每次循环 i 的变量。

判断表达式一是否满足表达式二,成立执行代码块,再改变变量 i 的值,再用表达式二进行判断。

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

蜀山妖道 提问者

非常感谢!
2016-08-13 回复 有任何疑惑可以回复我~
#2

我改名字了

看本题问答为“给的前两个参考代码是不是有问题”标题中。 看最下边我给的两组函数和第二页,对你本题很有帮助。
2016-08-14 回复 有任何疑惑可以回复我~

在cfree中运行虽然是一样的,如果把i++移动到下边。但是用调试模式仔细观察,如问题中写法,第一次sum=2。

而如果i++写在flag*=-1*flag下边,第一次sum=1?求指教?

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

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

进入课程

关于4.10答案中while和i++

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