c语言 a=1; b=2; c=2; while(a<b<c){t=a; a=b; b=t; c
c语言a=1;b=2;c=2;while(a<b<c){t=a;a=b;b=t;c--.;}分别打印a,b,c我觉得是:2,1,1但答案是1,2,0...
c语言 a=1; b=2; c=2;
while(a<b<c){t=a; a=b; b=t; c--.; }
分别打印a, b, c
我觉得是:2, 1, 1但答案是1, 2, 0 展开
while(a<b<c){t=a; a=b; b=t; c--.; }
分别打印a, b, c
我觉得是:2, 1, 1但答案是1, 2, 0 展开
4个回答
展开全部
这个写法是不好的
追问
是的。我没电脑。不知答案
追答
=while( (a<b) < c)
先判断 a < b 得到个逻辑值 0 或 1
在用 该逻辑值与 c 比较
答案是对的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-07-13
展开全部
int main()
{
int t, a=1, b=2, c=2;
while (a<b<c) { //问题出在这里,不能直接用a<b<c
t=a;
a=b;
b=t;
c--;
printf("%d %d %d\n", a, b, c);//这里打印出来两次,说明while循环执行了两次,直到c=0
}
return 0;
}
改写如下:
int main()
{
int t, a=1, b=2, c=2;
while (1) {
t=a;
a=b;
b=t;
c--;
if (c>b && b>a)
continue;
else
break;
}
printf("%d %d %d\n", a, b, c);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(a=c<b)意思是先a=c,所以a=6。后面比较a<b。所以(a=c<b)的值为0.
(a&&!c)的值为0。很简单
b/a*2.0的值为6.
所以总体是6.
个人见解,没有跑程序验证
希望能解决您的问题。
(a&&!c)的值为0。很简单
b/a*2.0的值为6.
所以总体是6.
个人见解,没有跑程序验证
希望能解决您的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询