免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2590 | 回复: 4

[函数] 请教一个while循环的问题 [复制链接]

论坛徽章:
0
发表于 2014-07-09 16:26 |显示全部楼层
今天遇到一个例子
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.         int count,sum;

  5.         count=0;
  6.         sum=0;
  7.         while(count++<20)
  8.         sum=sum+count;
  9.         printf("sum=%d\n",sum);
  10.         return 0;
  11. }

复制代码
意思是要求计算0~20的所有整数之和,但是我看while并没有包含sum=sum+count;我理解的是count一直增加到20,之后再执行sum=sum+count;,也就是说sum=20.但是结果是sum=210,这是为什么?
另外,我写成
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.         int count,sum;

  5.         count=0;
  6.         sum=0;
  7.         while(count++<20)
  8.         {
  9.         sum=sum+count;
  10.         }
  11.         printf("sum=%d\n",sum);
  12.         return 0;
  13. }
复制代码
得到的也是sum=210,这才是我理解的意思,就是上面那个搞不明白。请教大牛,while在整个main函数中的执行顺序是?

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
发表于 2014-07-09 16:34 |显示全部楼层
你试试:
while(count++<20);

求职 : 系统工程师等
论坛徽章:
5
技术图书徽章
日期:2014-04-19 22:01:05天蝎座
日期:2014-05-09 13:49:28双子座
日期:2014-06-16 15:08:042015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:28
发表于 2014-07-09 16:41 |显示全部楼层
这两者实际上一个意思,找本C语言书看看吧

论坛徽章:
0
发表于 2014-07-09 16:42 |显示全部楼层
回复 2# folklore
清楚了,因为没有;来结束while循环,所以它能够执行sum=sum+count;并将之做为while循环的一部分,而{}则适用与多个需要循环执行的语句,使之成为复合语句。
谢谢!

   

论坛徽章:
0
发表于 2014-07-09 16:43 |显示全部楼层
回复 3# qxhgd
正在看{:3_201:}

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP