| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 717 人关注过本帖
标题:c语言问题
只看楼主 加入收藏
xiaoyaoniu
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-24
收藏
 问题点数:0 回复次数:3 
c语言问题
main()
{
int a=1,b=2,t,c=2;
while(a<b<c)
{
 t=a;
 a=b;
 b=t;
 c--;}
printf("%d,%d,%d",a,b,c);
}
答案是1,2,0
编译没有出错,编译器也没问题
请问为什么while循环执行了两遍?
搜索更多相关主题的帖子: c语言 int main 
2008-07-27 17:27
病书生
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-11-8
收藏
得分:0 
a=1,b=2,c=2,while(a<b<c) a<b为真即 1,也就是while(1<c)执行一次
交换了 a,b的值,c自减 a=2,b=1,c=1
while(a<b<c) a<b为假 即 0,也就是while(0<c) //此时c为1
再执行一次
2008-07-27 17:36
hundnn
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2007-8-23
收藏
得分:0 
main()
{
int a=1,b=2,t,c=2;
while(a<b<c)      //这里不能这样写,应该写成while(a < b && b < c)
{
t=a;
a=b;
b=t;
c--;}
printf("%d,%d,%d",a,b,c);
}
2008-07-27 17:39
xiaoyaoniu
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-24
收藏
得分:0 
谢谢2楼的答复
2008-07-27 17:41
快速回复:c语言问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033922 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved