首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

[]c语言有关?的有关问题

2012-03-06 
[求助]c语言有关?:的问题。输入a,b,c 三个整数,求最大者,用 k ab?a:bc?ab?a:b:c,如果三个数是 269 ,程

[求助]c语言有关?:的问题。
输入a,b,c 三个整数,求最大者,用 k = a>b?a:b>c?a>b?a:b:c,如果三个数是 2 6 9 ,程序对各种顺序都能找出最大的数 9,唯独输入顺序为6 2 9 时,输出却是 k = 6。当然,将 a>b?a:b 加上括号就全部正确了。有哪位能详细解释一下其中的原因吗?主要是c的编译对于不加括号时的分析过程是怎样的?包括运算顺序等等,请详解。

[解决办法]
优先级
[解决办法]
int k = a>b?a:b>c?a>b?a:b:c; 等价于 int k = a>b?a:(b>c?a>b?a:b:c);

热点排行