| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 528 人关注过本帖
标题:c++数据类型和表达式
只看楼主 加入收藏
z826926484
Rank: 1
来 自:成都
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-12-5
结帖率:50%
收藏
 问题点数:0 回复次数:6 
c++数据类型和表达式
char a='A';
 char b='B';
 char c='C';
 cout<<(1?1:0?2:0?3:0)<<endl;
 cout<<(a=(b,c))<<endl;
为啥输出会是1和c啊 求具体解释啊

搜索更多相关主题的帖子: 数据 表达式 
2012-02-23 21:26
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
1?1:0?2:0?3:0 =>
    1
? 1
: (0 ? 2 : (0?3:0))
因为 1 为真,选 ? 后的那项,所以是 1。

a=(b,c)
后面是逗号表达式,选最后一个逗号之后的。赋值表达式本身的值是变量被赋予的值。
2012-02-23 23:02
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
呵呵 现在才知道3木运算是右到左。
用的很少

用心做一件事情就这么简单
2012-02-24 01:14
z826926484
Rank: 1
来 自:成都
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-12-5
收藏
得分:0 
回复 2楼 pangding
好厉害啊 看来我还是要努力。
2012-02-24 15:29
CooperOne
Rank: 2
来 自:珠海
等 级:论坛游民
帖 子:40
专家分:48
注 册:2012-1-25
收藏
得分:0 
以下是引用pangding在2012-2-23 23:02:55的发言:

1?1:0?2:0?3:0 =>
    1
? 1
: (0 ? 2 : (0?3:0))
因为 1 为真,选 ? 后的那项,所以是 1。

a=(b,c)
后面是逗号表达式,选最后一个逗号之后的。赋值表达式本身的值是变量被赋予的值。
+1.....弄得我愣了大半天

蹲得越低,跳得越高.
2012-02-29 20:57
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
哦。现在我自己看也觉得当时写的有点没头脑……

不过好多人用相对复杂一点的 ?:表达式 时,都是分三行写。
我当时只是把它拆成三行,加了点不影响结合顺序的括号而已。
2012-03-01 00:52
luf543
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2012-2-22
收藏
得分:0 
楼主把输出结果写错了是1和C,不是c。
2012-03-02 16:58
快速回复:c++数据类型和表达式
数据加载中...
 
   



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

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