古畑任三郎最后的舞蹈:结果为什么是0

来源:百度文库 编辑:高校问答 时间:2024/05/04 14:37:57
main()
{
int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
5楼的那你又怎样认为的呢?

因为:
a>b结果为1

而再与C作比较,即变为1>c,c=3,所以1>3的结果为0

最后d=0

结果就为0

我同样4楼的观点啊!二楼错了吧!

a>b>c

这个东西在C里是错的!

这个很明显么:

a>b>c这个运算式的执行过程是先计算a>b,这里是5>4,结果是true,就是1,然后比较(a>b)>c,这里是1>3,结果是false,就是0.

所以结果是0阿.

d=(a>b>c);
工作过程:
其中temp并不存在哦.
temp= a>b
因为a>b为true ,所以值为1 ;
temp = 1;
temp2 = temp>c
因为1>3为false,所以值为0;
d = temp2
所以值为0

首先在C任何版本中>,>=,<,<=的结合方向是从左到右
先计算a>b,为真,所以为1
然后计算(a>b)>c,相当于1>c,为假,所以为0
所以d=0;