| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1433 人关注过本帖, 1 人收藏
标题:=和? : 的优先级
只看楼主 加入收藏
ml232528
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:367
专家分:879
注 册:2007-7-23
结帖率:80%
收藏(1)
 问题点数:0 回复次数:26 
=和? : 的优先级
看了一个帖子突然相到了=和? :

x=y>z?y:z;
编辑器是这样认为的x=(y>z?y:z)

y>z?y:z=x;
编辑器会怎么认为呢 (y>z?y:z)=x 还是 y>z?y:(z=x)
搜索更多相关主题的帖子: 优先级 编辑器 
2008-09-16 22:30
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1686
专家分:4252
注 册:2007-12-27
收藏
得分:0 
机器想当然地认为伟大的人类写的表达式都是合法的,尽量去理解,例如y>z?y:(z=x)
实在理解不了再报错,例如(y>z?y:z)=x

[[it] 本帖最后由 forever74 于 2008-9-16 22:37 编辑 [/it]]
2008-09-16 22:34
ml232528
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:367
专家分:879
注 册:2007-7-23
收藏
得分:0 
(y>z?y:z)=x 谁说它是错的
把x赋值给y和z中最大的那个

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2008-09-16 22:40
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1686
专家分:4252
注 册:2007-12-27
收藏
得分:0 
哦,原来是这样,学到了
今天又有点收获
2008-09-16 22:47
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1686
专家分:4252
注 册:2007-12-27
收藏
得分:0 
不过学到的是自圆其说的技巧

收获是认识了一位有能力扩展语法的强人
2008-09-16 22:52
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
1 =优先级比?:低
2 ?:右结合

晕,是我表述错误,我记得逗号是11,赋值是10,分支是9,可是居然表述错误,太失误了阿阿阿……
不好意思…………

剩下的自己去想。

[[it] 本帖最后由 StarWing83 于 2008-9-17 02:03 编辑 [/it]]

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-16 23:02
polo6625
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-22
收藏
得分:0 
我怎么记得赋值运算的优先级很低!!!!!
只是比 逗号高(逗号是最低的了好像)
? :优先级要高把
2008-09-16 23:20
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
LS你是对的,的确赋值比?:要低,是我脑子糊涂了= =

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-17 02:03
ml232528
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:367
专家分:879
注 册:2007-7-23
收藏
得分:0 
y>z?y:z=x; //恩 根据优先就这样理解是对的(y>z?y:z)=x

[bo][un]forever74[/un] 在 2008-9-16 22:52 的发言:[/bo]

不过学到的是自圆其说的技巧

收获是认识了一位有能力扩展语法的强人

什么意思?

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2008-09-18 11:51
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1686
专家分:4252
注 册:2007-12-27
收藏
得分:0 
意思就是说
y>z?y:z=x当然是会被理解成(y>z?y:z)=x
这个没错
但是这个东西在语法上是错的
C里面不存在“把x赋值给y和z中最大的那个”这种语法
2008-09-19 01:32
快速回复:=和? : 的优先级
数据加载中...
 
   



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

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