永发信息网

以下c程序while里的表达式是0,为什么还要执行while子句?

答案:4  悬赏:40  手机版
解决时间 2021-04-19 15:58
#include "stdio.h"
void main()
{
int a=1,b=2,c=2,t;
while(a<b<c)
{
t=a;a=b;b=t;
c--;
}
printf("%d,%d,%d",a,b,c);
}
最佳答案

a<b<c这个表达式不是0,而是1


解释:


由于两个<优先级相同,因此从左向右运算,因为a=1,b=2,因此a<b的结果为真,结果计为1,1<c当然为真,所以a<b<c为1而不是0

全部回答
按照你的意思应该将:a<b<c 改为a<b && b<c

while中表达式有误,C语言中没有a<b<c这种表达方式,这样会造成错误

应该写成a<b && b<c

while(a<b<c)中

a<b<c 的值是1. 而不是0. 因为关系运输符< 是自左至右结合.

所以先比较a<b 再将a<b的结果与c比较.

程序中 a<b 为真.也就是1. 然后比较 1<c 也为真. 所以while()表达式就是1.

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
某小学组织学生到西湖划船,如果每条船坐9人
手机服务密码是什么? 干什么用的?我都没设
平均数是什么,表示平均数的数学符号。
丰立装饰
问道怎么带宝宝?
怎么样才能让人彻底的忘记一个人
毕业祝福卡片怎么写,贺卡的格式是怎样的?
祖传铜寿比南山,长命富贵的长命八卦锁,有收
找小说!都市背景,题材(玄幻,修正,黑道)
领养了手机宠物后,由于没时间照顾了,怎么办
怎样的感觉是爱上一个人,
问道奇门遁甲90全法金一般多少道可以站证道?
我的寻仙上面说已满18岁 为什么玩三个小时就
书法唐诗楷书作品欣赏,行书硬笔书法--古诗
电脑主机箱里面的数字信号显示不正常是怎么回
推荐资讯
英语选择填空:Whot made you so angry? ( )
剑平造型在什么地方啊,我要过去处理事情
采用邻二代菲――亚铁指示剂其变色电位是多少
为什么QQ空间农场不加经验了
钱要怎么赚,才能赚得更多并且不累?
请问现NBA湖人队加上去年得的冠军总共得了多
有时候头晕,太阳穴上还有点痛,是什么原因?
家庭责任感的名言,帮助父母分担家庭责任的名
小酒窝的歌曲连接是多少啊?
龙乡酒店地址在什么地方,想过去办事
听诗词赏析软件,手机那个软件可以听古诗词
万隆鑫装潢材料商店我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?