当前位置: 代码迷 >> C语言 >> 请求老手两道简单的循环问题~
  详细解决方案

请求老手两道简单的循环问题~

热度:160   发布时间:2008-02-26 15:13:15.0
请求老手两道简单的循环问题~
请把下面两道程序的流程说明一下,自己想了半天都不知道怎么得出来的结果~
(1)#include <stdio.h>
main()
{
int x=2;
while(x--);
printf("%d\n",x);
}
这道题的答案是-1.可是怎么得的呢?其中的循环体是怎么工作的?
(2)int i=0,sum=1;
do {sum+=i++;}
while(i<5);
printf("%d\n",sum);
}

这道题的答案是11.
其中的循环体是怎么工作的呢?


谢谢~~
搜索更多相关的解决方案: 老手  请求  

----------------解决方案--------------------------------------------------------
第一:while后面有一个分号,while(x--)自己做循环,当x=0时,条件为假调处循环,但由于x--是先用x的值再减一,所以x=-1;
第二:sum+=i++;  就是 sum = sum + ( i++ );
由于是do-while先做在判断。所以到i=5停止。
第一次:sum = 1 +1 =2 ;
第二次:sum= 2 + 2 = 4;
第三次:sum=4+3=7;
第四次:sum=7+4=11;
此时,i=5所以停止
----------------解决方案--------------------------------------------------------
谢谢~!!
----------------解决方案--------------------------------------------------------
  相关解决方案