搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ c语言问题
标题:
c语言问题
只看楼主
xiaoyaoniu
等 级:
新手上路
帖 子: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
病书生
等 级:
新手上路
帖 子:93
专家分:0
注 册:2007-11-8
第
2
楼
得分: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
等 级:
新手上路
帖 子:123
专家分:0
注 册:2007-8-23
第
3
楼
得分: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
等 级:
新手上路
帖 子:8
专家分:0
注 册:2008-6-24
第
4
楼
得分:0
谢谢2楼的答复
2008-07-27 17:41
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-225462-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.014460 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved