标题:关于优先级
取消只看楼主
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
结帖率:60%
 问题点数:0 回复次数:3 
关于优先级

#include <stdio.h>
void main()
{
float a=2.8,b=1.0,c=4;
clrscr();
printf("%f\n",a>(b>c?b:c)?a:(b>c?b:c)); /*这句优先级我明白*/
printf("%f\n",a> b>c?b:c ?a: b>c?b:c ); /*但这句优先级我就不明白了,高手请指示*/
getch();
}

搜索更多相关主题的帖子: printf float void main clrscr 
2006-02-18 15:39
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
得分:0 
细看,好像懂了。
a>b>c先算,a>b返回1,1>c返回0,
也就是取值c ?a: b>c?b:c
而c=4不等于0,取a值,即2.8

2006-02-18 15:48
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
得分:0 
楼上的就不对了。
如果对的话,就和楼主(也就是我,呵呵)上面不加红字的那一行,不就一模一样了吗?
那结果为什么不一样,想过没
是>的优先级比?的优先级高。


2006-02-20 15:38
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
得分:0 
8楼
?问是一个三目运算符
A?B:C
A是一个判断语句。如果判断值A成立(非0),那么这个语句返回B,否则返回C

?号语句的功能与下面的程序相同
if (A)
B;
else
C;

2006-02-20 15:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-46135-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.918078 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved