C语言中,printf("%d\n",k<a?k:c<b?c:a);是什么意思
展开全部
这是运算符优先级的问题:
k<a?k:c<b?c:a
首先,<运算符 高于 条件运算符,顺序为从左到右。可以分解为k<a?k:(c<b?c:a),
先取c<b?c:a 中的那个值我们定义为M, 可以简化为k<a?k:M
k<a?k:M条件运算符:k小于a,则去K,否则取M
k<a?k:c<b?c:a
首先,<运算符 高于 条件运算符,顺序为从左到右。可以分解为k<a?k:(c<b?c:a),
先取c<b?c:a 中的那个值我们定义为M, 可以简化为k<a?k:M
k<a?k:M条件运算符:k小于a,则去K,否则取M
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上,一群饭桶,回答结果全是错的,在编译器里运行结果验证是4。回答如下:
三目运算符(条件运算符)的右结合性(从右到左)。
k<a?k:(c<b?c:a)
假设(c<b?c:a)=m
k<a?k:m,结果为4。有困扰的自己去验证结果,结果就是4。
另外,饭桶别瞎回答问题,误人子弟。
三目运算符(条件运算符)的右结合性(从右到左)。
k<a?k:(c<b?c:a)
假设(c<b?c:a)=m
k<a?k:m,结果为4。有困扰的自己去验证结果,结果就是4。
另外,饭桶别瞎回答问题,误人子弟。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大概意思是:求 a b c k 四个数最小值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
条件表达式,格式为:d=a?b:d这句话的意思是if(a){c=b;}else{c=d;},运用到你的表达式里面就是,
if(k<a){
打印k的值
}
else{
打印c<b?c:a的值
}
其中c<b?c:a又是一个条件表达式,分析同上,其实这只是一个简单的条件表达式的嵌套.
if(k<a){
打印k的值
}
else{
打印c<b?c:a的值
}
其中c<b?c:a又是一个条件表达式,分析同上,其实这只是一个简单的条件表达式的嵌套.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询