标题:简单小问题 在线送分
只看楼主
c小白2333
Rank: 5Rank: 5
来 自:中国
等 级:贵宾
威 望:11
帖 子:121
专家分:367
注 册:2019-6-17
结帖率:100%
已结贴  问题点数:20 回复次数:4 
简单小问题 在线送分
已有声明:
int x = 5, y;
float z = 2;
下列表达式语法有何错误
x > 0 ? y = x : y =  - x;
搜索更多相关主题的帖子: 在线 float 表达式 语法 错误 
2019-08-02 13:30
尽往昔
Rank: 2
等 级:论坛游民
帖 子:4
专家分:30
注 册:2019-8-2
得分:10 
你确定有问题?
2019-08-02 15:19
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
C语言中,三元条件运算符 优先级高于 赋值运算符。
因此,x > 0 ? y = x : y = -x; 等价于 (x>0 ? y=x : y) = -x;
(另外,operator= 在C语言中不是 左值表达式,所以语法错误)

C++语言中,三元条件运算符 优先级同于 赋值运算符。
因此,x > 0 ? y = x : y = -x; 等价于 x>0 ? (y=x) : (y=-x);
(另外,operator= 在C++语言中 左值表达式,所以即便是 (x>0 ? y=x : y) = -x 也能编译通过)
2019-08-02 15:23
c小白2333
Rank: 5Rank: 5
来 自:中国
等 级:贵宾
威 望:11
帖 子:121
专家分:367
注 册:2019-6-17
得分:0 
回复 3楼 rjsp
非常感谢  

宝剑锋从磨砺出,梅花香自苦寒来。
2019-08-02 18:27
c小白2333
Rank: 5Rank: 5
来 自:中国
等 级:贵宾
威 望:11
帖 子:121
专家分:367
注 册:2019-6-17
得分:0 
回复 3楼 rjsp
想给你19分的   不会分分结贴  
就这样了

宝剑锋从磨砺出,梅花香自苦寒来。
2019-08-02 18:30



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




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

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