一道c语言题?
inta=1,b=2,c=3,d=4,e=5;k=a>b?c:d>e?d:e;k的数值是多少?...
int a=1,b=2,c=3,d=4,e=5;
k=a>b?c:d>e?d:e;k的数值是多少? 展开
k=a>b?c:d>e?d:e;k的数值是多少? 展开
2个回答
展开全部
k的值是:5
分析:
题目需要了解条件运算符(? :),条件运算符形式:
ex1 ? ex2 : ex3
如果ex1为真(非0),那么整个表达式的值和ex2相同;如果ex1为假(0),那么整个表达式的值与ex3相同。
理解定义之后再看题目:
int a=1,b=2,c=3,d=4,e=5;
k=a>b?c:d>e?d:e;
(1)先判断a>b,即1>2不成立,所以表达式的值为d>e?d:e。
(2)此时再判断d>e?d:e。d>e,即4>5不成立,所以表达式的值是e
(3)将e赋值给变量k,变量e的值是5,k值也是5。
所以最终结果是5。
扩展:条件运算符可以改写为if else的形式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询