黑马程序员技术交流社区
标题:
来分析下这个while(1)死循环
[打印本页]
作者:
驴小叔
时间:
2015-8-31 21:33
标题:
来分析下这个while(1)死循环
#include <stdio.h>
int main(int argc, const char * argv[]) {
int y=5;
do{
y--;
}while(--y);
printf("%d\n",y--);
return 0;
}
作者:
coding_wang
时间:
2015-8-31 22:18
第一次循环时到 while(--y); 这句前,y=4,判定while时 先剪后判 为 while(3)
第二次同理 到while语句前为2, 判定时为1
到了第三次 判定时为-1
由于while语句只有在判定为0时结束,所以,整个就成了死循环.
假设 这个y的初始值为6 则跳出循环时 y为0 ,输出的结果也为0
设a=1
主要在于 a++ 在执行语句时,a为原值1, ++a在执行语句时 a为a+1的值2 语句执行后 a的值都为a+1=2
即执行语句的状态下 a++字母在前则用原值 ++a符号在前则用+1后的值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2