社区
C语言
帖子详情
设a=1,b=2,c=3,d=4 则表达式: a<=b?a:c<=d?a:d 结果是1 请问这结果是怎么来的呢?
kjclanguage
2005-08-02 11:27:22
设a=1,b=2,c=3,d=4 则表达式: a<=b?a:c<=d?a:d 结果是1 请问这结果是怎么来的呢?
...全文
7554
22
打赏
收藏
设a=1,b=2,c=3,d=4 则表达式: a<=b?a:c<=d?a:d 结果是1 请问这结果是怎么来的呢?
设a=1,b=2,c=3,d=4 则表达式: a<=b?a:c<=d?a:d 结果是1 请问这结果是怎么来的呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
prgmBaggio
2005-08-06
打赏
举报
回复
(a<=b)?(a):(c<=d?a:d)
tygfr
2005-08-06
打赏
举报
回复
先把逻辑运算和算术运算这两个基本的概念搞清楚再说
lxk_cool
2005-08-06
打赏
举报
回复
关于?:的用法,看看书吧
K
2005-08-06
打赏
举报
回复
看看基础吧
bombwang
2005-08-06
打赏
举报
回复
(a<=b)?a:(c<=d?a:d)
自己慢慢算
llf_hust
2005-08-06
打赏
举报
回复
认真看书,把基础打好
zsd1101897
2005-08-06
打赏
举报
回复
14
设a=1,b=2,c=3,d=4 则表达式: a<=b?a:c<=d?a:d 结果是1 请问这结果是怎么来的呢?
看这道题 只要分析两个嘛 很简单
1运算符的优先级
2运算符的结合方向
这道题只涉及2个运算符号
1 ?: 条件运算符 结合方向 从右至左
2 <= 关系运算符 结合方向 从左至右
3关系运算符的优先级大于条件运算符
所以在解这道题的时候按这个顺序看可能容易理解点
1 先解答a<=b 得到答案为1
此时这条式可以简化为 1?a:c<=d?a:d
2解答c<=d 得到答案为1
此时这条式可以简化为 1?a:1?a:b
3由于条件运算符的结合方向是从右到左
所以先算后面的那个1?a:b部分 得到答案为1(就是a)
此时这条式可以简化为 1?a:1
4呵呵 ,这个当然也就是a啦~也就是1了
思考问题应该有点条理性!~建议楼主以后在问问题前应该仔细思考
gogdo
2005-08-04
打赏
举报
回复
问题的解决方法是你按运算符的优先级的顺序加上括号,问题就变得很清楚了。
qybao
2005-08-03
打赏
举报
回复
可以用以下的方法测试编译器是从左算还是从右算
k=0;
a<=b?a:(k=c<=d?a:d)
printf("k=%d",k);
如果k值不是0,就说明是从右算的,否则就是从左算的
qybao
2005-08-03
打赏
举报
回复
1
a<=b?a:c<=d?a:d
首先判断条件a<=b,如果成立则取a的值,不成立则取(c<=d?a:d)的值
对于c<=d?a:d,先判断c<=d,如果成立则取a的值,不成立则取d的值
所以,很明显,你的表达式里一开始a<=b条件就成立了,直接就取a的值了,a的值就是1,所以结果是1
********************************************
上面是从左边开始算的
从右算也是一样的结果,毕竟从右算最后也要走到a<=b这一步判断,结果很明显了
一般所谓的从左,从右算,要看编译器的,不同的编译器运算方式也不一样,但不管怎样,只要知道运算的逻辑原理就可以了
xuanwenchao
2005-08-03
打赏
举报
回复
设a=1,b=2,c=3,d=4 则表达式: a<=b?a:c<=d?a:d 结果是1 请问这结果是怎么来的呢?
a<=b ? a : (c<=d?a:d)
a<=b成立则返回a的值不成立则返回(c<=d?a:d)的值,所以得1
jighrfgdd
2005-08-03
打赏
举报
回复
回复人: qybao(阿宝) ( ) 信誉:100 2005-8-2 23:36:43 得分: 0
a<=b?a:c<=d?a:d
首先判断条件a<=b,如果成立则取a的值,不成立则取(c<=d?a:d)的值
对于c<=d?a:d,先判断c<=d,如果成立则取a的值,不成立则取d的值
所以,很明显,你的表达式里一开始a<=b条件就成立了,直接就取a的值了,a的值就是1,所以结果是1
********************************************
上面是从左边开始算的
回复人: jixingzhong(瞌睡虫) ( ) 信誉:100 2005-8-3 7:41:09 得分: 0
我想楼主是不是写错了 ?
可能原来的题目是
a<=b?a:c<=d?c:d 而不是 a<=b?a:c<=d?a:d 吧
(不过结果一样)
这里的问题,
关键的是 三目运算符 的结合方向 ,
除了 单目运算符 以外
还有 这个 三目运算符 是 右结合 的
所谓 右结合 ,是说有多重该运算符号的时候
系统会优先满足式子右边的
比如楼主的问题 a<=b?a:c<=d?a:d ==>a<=b?a:(c<=d?a:d)
类似的 单目运算符号 也一样
比如 +++i ==> +(++i)
楼主要多加注意
这些很容易让人迷糊的
**********************************
这位讲是右边开始算的
到底哪个对呢?我学的是它有右结合性的
jsjjms
2005-08-03
打赏
举报
回复
设a=1,b=2,c=3,d=4 则表达式: a<=b?a:c<=d?a:d 结果是1 请问这结果是怎么来的呢?
------------------------------------------------------------------------------
a<=b?a:c --> if (a<=b) then tmp=a; else tmp =c;
这种嵌套写法 加上括号就清楚多了.没有括号
就要清楚运算符的优先级
copygirl
2005-08-03
打赏
举报
回复
设a=1,b=2,c=3,d=4
a<=b?a:(c<=d?a:d)
因为a<=b,所以等式取a的值1
afx_swallow
2005-08-03
打赏
举报
回复
转新手乐园
jixingzhong
2005-08-03
打赏
举报
回复
我想楼主是不是写错了 ?
可能原来的题目是
a<=b?a:c<=d?c:d 而不是 a<=b?a:c<=d?a:d 吧
(不过结果一样)
这里的问题,
关键的是 三目运算符 的结合方向 ,
除了 单目运算符 以外
还有 这个 三目运算符 是 右结合 的
所谓 右结合 ,是说有多重该运算符号的时候
系统会优先满足式子右边的
比如楼主的问题 a<=b?a:c<=d?a:d ==>a<=b?a:(c<=d?a:d)
类似的 单目运算符号 也一样
比如 +++i ==> +(++i)
楼主要多加注意
这些很容易让人迷糊的
apollon_hhy
2005-08-03
打赏
举报
回复
我觉得 楼主首先 应该清楚 ? : 三目运算符的用法
a ? b : c 如果 a 是 true 则 b ,否则 a 为false 则 c
a<=b?a:c<=d?a:d 相当于 a<=b ? a : (c<=d ? a : d)
a=1,b=2,c=3,d=4 显然 a<=b 为true ;
jighrfgdd
2005-08-03
打赏
举报
回复
tc是从从左算还是从右算?
qybao
2005-08-02
打赏
举报
回复
1
a<=b?a:c<=d?a:d
首先判断条件a<=b,如果成立则取a的值,不成立则取(c<=d?a:d)的值
对于c<=d?a:d,先判断c<=d,如果成立则取a的值,不成立则取d的值
所以,很明显,你的表达式里一开始a<=b条件就成立了,直接就取a的值了,a的值就是1,所以结果是1
boxban
2005-08-02
打赏
举报
回复
这个~~~~~~~~~~
无语
加载更多回复(2)
数据库部署运维手册.doc
数据库部署运维手册.doc
语音识别领域中基于隐马尔可夫模型(HMM)的孤立字语音识别Matlab代码实现与应用
内容概要:本文详细介绍了基于隐马尔可夫模型(HMM)的孤立字语音识别技术在Matlab环境下的实现方法。主要内容涵盖从语音数据准备到特征提取(如MFCC),再到HMM模型的构建、训练以及最终的语音识别测试全过程。文中提供了具体的Matlab代码模板,便于读者理解和实践。此外,还讨论了一些潜在的优化方向,如特征提取优化和模型参数调整等。 适合人群:对语音识别感兴趣的研究人员和技术爱好者,尤其是有一定Matlab编程基础的人群。 使用场景及目标:适用于需要深入了解HMM在语音识别领域的具体应用机制,或者希望通过Matlab快速搭建实验平台验证相关算法效果的学习者和开发者。 其他说明:虽然本文主要聚焦于孤立字的识别,但所涉及的技术和思路同样适用于更复杂的连续语音识别任务。同时,文中提到的一些优化点也为进一步研究指明了方向。
NC接口
设
计规范.doc
NC接口
设
计规范.doc
ippicv手动下载安装(用于编译安装opencv4.5.5)
ippicv用于编译安装opencv4.5.5
第1章-项目管理与Project.ppt
第1章-项目管理与Project.ppt
C语言
70,013
社区成员
243,258
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章