int a=5,b=4,c=3,d=2;if(a>b>c) printf("%d",d);else if((c-1>=d...
所以判断((c-1>=d)==1), 由于减号优先级高于>=;所以先计算c-1,返回2 2>=d返回1,1==1结果是true,所以输出d+1=3.
...main() {int a=5,b=4,c=3,d=2; if(a>b>c) printf("%d\\n",d); el...
先判断A>B 因为成立 所以A>B是正确的 所以A>B的值为 1 (1表示TRUE,0表示FALSE) 然后 就变成 1和C比较了 当然1小于C 所以第一个IF 不满足 满足第二个IF 所以就输出2+1 =3 了
main(){ int a=5,b=4,c=3,d=2; if(a>b>c) printf(“%d
C语言中不能用 a > b > c 这样的表达式来判断a, b, c 之间的大小。正确的表达式应为: if (a > b && b > c)具体可以找一本C语言基础的书籍看看
#include <stdio.h>
main(){ int a=5,b=4,c=3,d=2;if(a>b && b>c)printf("%d\\n",d);else if ((c-1>=d)==1)printf("%d\\n",d+1);else printf("%d\\n",d+2);return 0;}
...main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\\n",d); }...
a>b>c是从左向右计算的:(a>b)>c,先计算a>b结果为真,也就是1,再用这个结果计算1>c,结果为假。
...main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\\n",d); }...
你看一下d=(a>b>c)(a>b>c)的返回值,是否是0和1,我想应该是(a>b>c)的条件成立,成立则为0,所以将0赋值给了d,你在打印d的值的时候必然是0。可以尝试一下,换成(a<b<c)。你看看打印出来是1还是-1,只要不是0,则假设正确!
...main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\\n",d); }...
0 关键是a>b>c,你应该看成(a>b)>c,先计算a>b,结果是真实的,也就是1,接着计算1>c,结果是false,也就是0,所以d=0,这是考察编程中的运算符,蛮基础的~~
...main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d",d);}输出...
a>b为真,所以这个表达式的值是1 然后这个表达式的值(1)和c比较,1>c为假,所以表达式a>b>c的值是0 所以d=0 有问题继续 谢谢采纳
...main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\\n",d); }...
d=(a>b>c)表示将a>b>c这个逻辑表达式的值赋给d,我们来计算这个表达式的值。a>b>c \/\/a>b成立 =ture>c \/\/ture当成1比较,1>c不成立 =false \/\/false转换为整形就是0 =0
...main() {int a=5,b=4,c=3,d;d=(a>b>c);printf("%d",d); }答案是...
运行结果为:0 分析:d=(a>b>c) \/\/先算a>b,成立,结果为true,即1。=1>c \/\/不成立,结果为false,即0。=0