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

#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
超级新手
Rank: 2
等 级:论坛游民
帖 子:185
专家分:59
注 册:2006-2-9
得分:0 
又学了一招

快快来我的群:13485998
学学C,玩玩算法,搞搞加密,比比谁更菜?
ARM恨死你。
2006-02-18 16:14
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
得分:0 
也就是取值c ?a: b>c?b:c /*这一句倒明白*/
而c=4不等于0,取a值,即2.8 /*为什么会变成这样了,不明白?*/

2006-02-18 16:22
超级新手
Rank: 2
等 级:论坛游民
帖 子:185
专家分:59
注 册:2006-2-9
得分:0 

where


快快来我的群:13485998
学学C,玩玩算法,搞搞加密,比比谁更菜?
ARM恨死你。
2006-02-18 16:43
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
得分:0 
c ?a: b&gt;c?b:c 这一句应该怎样运行呢?

2006-02-18 17:08
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
得分:0 

好象是 第一个 printf是 c=4
第二个 printf是 a=2.8
看看 ? :的结合性 和优先级

第二个 写出来就是 (a>b>c)? b:(c? a:(b>c? b:c))
=0? b:(c? a:c)
=0? b:a
对否.请指教


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-18 17:30
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
得分:0 
0? b:(c? a:c)
这样怎么判断? 不懂

2006-02-18 17:36
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
得分:0 

? : 是自右向左结合 先判断括号里 C为 真..则括号里的值为 A 然后 0为假 则 取A值 不对吗


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-18 17:39
上帝的牙齿
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-2-19
得分:0 
没错~~正解!
2006-02-19 10:24



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




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

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