C语言中的a<b<c何解???

程序段
#include<stdio.h>
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);
return 0;
}

中的a<b<c怎么翻译?a小于b 同时a小于c 还是别的?

既不是“a小于b 同时a小于c ”也不是"a<b<c"相当于"a<b && b<c"

是a<b的结果与c进行比较
而a<b的结果只能是0或者1,用0或者1和c进行比较
比如a是2,b是1,c是1
那么a<b<c的过程如下
a<b=>2<1=>0
0<c=>0<1=>1
a<b<c的结果就是1

onyourmark111不懂别装懂 误人子弟就是你这样的
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-08
首先计算a<b是否成立,再计算1<c或0<c,
如果成立则执行while循环,否则不执行
比如: 2<1<1,2<1为假,则计算0<1为真,执行while循环
再如: 1<2<0, 1<2为真,再计算1<0为假,不执行while循环
第2个回答  2010-07-08
先计算a<b(即1<2)结果为1,然会计算1<c(即1<2)结果为1,即整个表达式值为1,条件成立。
第3个回答  2010-07-08
yangzhe2291说得对

C语言中的a<b<c何解???
比如a是2,b是1,c是1 那么a<b<c的过程如下 a<b=>2<1=>0 0<c=>0<1=>1 a<b<c的结果就是1 onyourmark111不懂别装懂 误人子弟就是你这样的

c语言中a<b<c这个句子怎样解析,如a=1,b=3,c=2结果是不是为1
a<b<c是个关系表达式,从左往右计算,a<b即1<3是假,返回0,0<2也是假,所以返回为0

c语言中这个a<b<c什么意思
a = b = c 意思是将 c 的值赋给 b,再赋给 a,a,b,c 都等于3。a = b == c, = 的优先级低于 ==,会先判断 b == c 结果为假,就是0值,然后将0值赋给 a,也就是执行后,a = 0, b = 2, c = 3。a == (b=c),会先讲 c 值赋给 b, 然后判断 a 是否等于 b,...

关于C语言中a<b<c这个表达式
C语言中0为假,非0为真,当真假需参与运算时,1对应真,0对应假。你这里从左到右依次执行,当a=1,b=2,c=2时,首先a<b是真的,所以式子变为1<c,这个也是真的,所以整个式子是真的。同理,a=2,b=1,c=1时,a<b是假的,所以变为0<c,c的值是1,比0大,所以是真的,所以整个...

C语言A<B<C的问题。。。
这里的a<b<c求的是一个逻辑值,正确为1,错误为0,a=1,b=2,c=2,首先a<b成立,逻辑值为1,然后1<c,也成立,所以满足循环条件(逻辑值为0时不满足,为1满足),开始循环,交换a,b位置,再c--,,a=2, b=1, c=1,此时再循环,a<b不成立,逻辑值为0,0<c成立,逻辑值为1,满足...

C语言中a<b<c怎么运算
I:先计算 a<b 得出结果 II:若 (a<b)为真则:再计算 1<c 得出结果 真或假 II:若 (a<b)为假则:再计算 0<c 得出结果 真或假

为什么a<b<c对应的C语言表达式是a<b&&b<c?
因为以C语言标准规定的表达式逻辑,a<b<c等效于(a<b)<c 队医子表达式a<b的结果必然是真(1)或假(0),所以其实就是1<c或0<c 显然和想要表达的b∈(a,c)不同,a<b&&b<c才是合逻辑的表达

c语言中while(a<b<c)是什么意思
while(a<b<c)这样的写法,一般见于初学者,想判断b是否在a c之间,可是这是错误的写法 while(a<b && b<c) \/\/这是正确的写法。while(a<b<c) 的执行过程为: a<b 结果x为1或0 然后判断, x<c是否成立

c语言中while(a<b<c)什么意思,
在实际编程中不可能会碰到,而且作为规范的程序,也不允许这样的表达式出现。while (a < b < c)等价于while ((a < b) < c), (a < b)的计算结果将会得到bool值,即true(1)或false(0);然后是bool值和c进行比较,虽然还会得到一个bool值,但这样的比较已经没有意义了。

C语言中a<b<c
scanf("%d &d &d",&a,&b,&c);好像应该是 scanf("%d %d %d",&a,&b,&c);不然 b , c都应该没有值,而默认的整形初始值C中是0,所以,第一个结果为 1< 0< 0 得到结果为 假 而第二个结果 2 < 0 < 5 得到结果为 真 ...

相似回答