新闻 网页 贴吧 知道
知道知道
知道 音乐 图片 视频 地图 百科 文库 经验
同问
2008-03-27 22:09
百度知道 > 电脑/网络 > 编程语言 > C/C++
C语言 while与if(......)break问题
提问者: TT4562 | 浏览次数:2550次
main()
{
int x=3,y=6,z=0;
while(x++!=(y-=1))
{z+=1;
if(y<x)break;
}
printf("%d%d%d",x,y,z);
}
我认为输出是542
但运行是541
为什么
{z+=1;
if(y<x)break;}
是先执行if(y<x)break然后执行z+=1吗
我来帮他解答
搜索答案
提问
满意回答
2008-03-27 22:44
只有while 小括号 (x++!=(y-=1)) 里的条件满足时 才会做循环体。
开始第一次循环时 x=3,y=5, x变4(后加加之故),z变1,break 条件不满足。
第二次判断做不做循环体时 x=4,y=4,
在没有轮到 if(y<x)break; 之前,while 已不循环了。
出while 小括号后 x变5 (后加加之故)
一级 | | 手机知道 | 私信 | 百度首页kaurohy121210 我的知道
頁 1 / 5C语言 while与if(......)break问题_百度知道
2013/3/15http://zhidao.baidu.com/question/49548352.html