Chinaunix

标题: 请教一个while循环的问题 [打印本页]

作者: 十万个菜鸟    时间: 2014-07-09 16:26
标题: 请教一个while循环的问题
今天遇到一个例子
  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函数中的执行顺序是?
作者: folklore    时间: 2014-07-09 16:34
你试试:
while(count++<20);


作者: qxhgd    时间: 2014-07-09 16:41
这两者实际上一个意思,找本C语言书看看吧
作者: 十万个菜鸟    时间: 2014-07-09 16:42
回复 2# folklore
清楚了,因为没有;来结束while循环,所以它能够执行sum=sum+count;并将之做为while循环的一部分,而{}则适用与多个需要循环执行的语句,使之成为复合语句。
谢谢!

   
作者: 十万个菜鸟    时间: 2014-07-09 16:43
回复 3# qxhgd
正在看{:3_201:}

   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2