一个C语言的题目

以下程序的运行结果是(D)main(){intk=4,a=3,b=2,c=2;printf(“\n%d\n”,k<a?k:c<b?c:a);}A、4B、3C、2D、1请问... 以下程序的运行结果是(D)
main( )
{ int k=4,a=3,b=2,c=2;
printf(“\n%d\n”,k<a?k:c<b?c:a);
}
A、4 B、3
C、2 D、1
请问下为什么是D啊
请问下 这个?:是什么运算符啊 啥意思啊
展开
 我来答
百度网友055c7b10d
2009-01-04 · TA获得超过1171个赞
知道小有建树答主
回答量:565
采纳率:0%
帮助的人:444万
展开全部
首先题目c=1,才会选择D答案。
“?:”是三目运算,例如:a<b?a:b即如果a<b成立,取a值,否则取b值。
分析:k<a?k:c<b?c:a中其实用到了两个三目运算。即k<a?k:(c<b?c:a),如果k<a成立则取k值,否则取括号里面的值,即c<b?c:a,4<3不成立,取c<b?c:a,
1<2(这里的c值应该是1,题目写错了)成立,取c值,否则去a值。所以答案为D。
不知道这样解释清楚不?有问题Hi我
世镶柳009
2009-01-03 · TA获得超过3017个赞
知道答主
回答量:2928
采纳率:0%
帮助的人:2459万
展开全部
k<a?k:c<b?c:a相当于 (k<a)?((k):((c<b)?(c:a)))

?:自左往右

正确答案是B、3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
管筠024
2009-01-03 · TA获得超过151个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:153万
展开全部
你的题目应该是:int k=4,a=3,b=2,c=1吧?
k<a?k:c<b?c:a中“?:”是三目运算,例如:a?b:c即如果a成立则b,否则c
k<a?k:c<b?c:a中是如果k<a成立则输出k,否则如果c<b成立则c否则a,在这个中输出是c的值1,你上面应该写错了吧?!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友37eb87320
2009-01-03 · TA获得超过1600个赞
知道小有建树答主
回答量:1024
采纳率:0%
帮助的人:1204万
展开全部
三目运算符

呵呵,这么写程序的人就是犯贱
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式