|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于条件表达式结合方向“自右至左”如何理解?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1104
人关注过本帖
标题:
关于条件表达式结合方向“自右至左”如何理解?
只看楼主
加入收藏
new_hand
等 级:
新手上路
帖 子:15
专家分:3
注 册:2009-6-25
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:7
关于条件表达式结合方向“自右至左”如何理解?
#include <stdio.h>
void main()
{
int a=10,b=20,c,d=15;
c=(a>b)?a:((b>d)?b++:d++);
printf("%d
%d
%d\n",c,b,d);
}
输出
20
21
15
若换为
c=(a<b)?a:((b>d)?b++:d++);
输出
10
20
15
难道不是先计算左边的式子吗?
自右至左啊?
搜索更多相关主题的帖子:
条件表达式
2009-08-24 10:33
举报帖子
使用道具
赠送鲜花
CCVC果冻爽
等 级:
业余侠客
帖 子:116
专家分:209
注 册:2009-7-31
第
2
楼
收藏
得分:8
优先级的问题
2009-08-24 10:48
举报帖子
使用道具
赠送鲜花
CCVC果冻爽
等 级:
业余侠客
帖 子:116
专家分:209
注 册:2009-7-31
第
3
楼
收藏
得分:0
它直接短路运算了,后面什么b++,d++都没运
a<b成立它就直接输出了
2009-08-24 10:52
举报帖子
使用道具
赠送鲜花
new_hand
等 级:
新手上路
帖 子:15
专家分:3
注 册:2009-6-25
第
4
楼
收藏
得分:0
回复 3楼 CCVC果冻爽
怎么不是先判断b>d,再判断a与b的大小?
什么叫自右至左结合?
2009-08-24 10:56
举报帖子
使用道具
赠送鲜花
CCVC果冻爽
等 级:
业余侠客
帖 子:116
专家分:209
注 册:2009-7-31
第
5
楼
收藏
得分:0
为什么要先判断b>d呢?a与b上也有括号啊,建议你去看下优先级那章。
2009-08-24 11:04
举报帖子
使用道具
赠送鲜花
UserYuH
来 自:毅华
等 级:
火箭侠
威 望:
8
帖 子:720
专家分:3300
注 册:2009-8-10
第
6
楼
收藏
得分:12
c=(a>b)?a:((b>d)?b++:d++);是从左运算的,这式子说明不了自右至左,
a=10,b=20,c,d=15
a>b 假,就到((b>d)?b++:d++);
b>d 真,就到b++
c=b++
到下一语句printf函数时,c=20,b=21,
c=(a>b)?a:((b>d)?b++:d++);
运行完上面的语句,b自增1,这正常呀.
@
给你一个自右至左的例子,(在TC中,随编译器不同结果也不同)
main()
{
n=2;
printf("%d %d\n",n++,n++);
}
你看上面这输出会认为输出是
2 3
但结果是:
3 2
这里就可以看出从右之左运算,先算右边的n++,到左边的n++时,n值为3.
但printf函输出还是从左到右输出,所以结果是:3 2
@
这种自右至左的算法,看得明白就好,看不明白不要太刻意去研究,编译器不同,研究也不同.
这样的表达式编程中不会用到,也要尽量避免,
努力—前进—变老—退休—入土
2009-08-24 11:09
举报帖子
使用道具
赠送鲜花
CCVC果冻爽
等 级:
业余侠客
帖 子:116
专家分:209
注 册:2009-7-31
第
7
楼
收藏
得分:0
很明确的告诉你条件运算符是从左到右的
2009-08-24 11:19
举报帖子
使用道具
赠送鲜花
new_hand
等 级:
新手上路
帖 子:15
专家分:3
注 册:2009-6-25
第
8
楼
收藏
得分:0
我是想知道
自左至右
到底是什么意思????
2009-08-25 17:48
举报帖子
使用道具
赠送鲜花
8
1/1页
1
快速回复:
关于条件表达式结合方向“自右至左”如何理解?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.020222 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved