c语言 一道选择题 求解释
5个回答
展开全部
这个表达式叫逗号表达式,逗号表达式的特点是从左到右,依次执行每一段,表达式的值就是最后逗号后面的表达式的值。所以:
1、执行a=2;
2、执行b=5;此时a等于2,b等于5;
3、执行a>b?a++:b++;因为a不大于b,所以相当于执行b++;执行完后a的值没变,等于2,而b加了1,此时b等于6;
4、执行最后一句a+b;上一句执行完后a等于2,b等于6,因此这个a+b的表达式的值是2+6,也就等于8。
综上,所以整个表达式的值是整个语句执行完后最后一个表达式的值,故选B、8。
1、执行a=2;
2、执行b=5;此时a等于2,b等于5;
3、执行a>b?a++:b++;因为a不大于b,所以相当于执行b++;执行完后a的值没变,等于2,而b加了1,此时b等于6;
4、执行最后一句a+b;上一句执行完后a等于2,b等于6,因此这个a+b的表达式的值是2+6,也就等于8。
综上,所以整个表达式的值是整个语句执行完后最后一个表达式的值,故选B、8。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=2不用说,b=5也不用说,后面是一个表达式,表示一个布尔值,而根据a,b的大小可以判断出这个布尔值为true,转化为整数也就是1,于是2+5+1=8;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逗号表达式的值是最后一个表达式的值,a>b?a++:b++时,b自增1变成了6,所以6+2=8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a>b?a++:b++, a>b条件不成立,所以执行b++,此时a = 2,b= 6; a+b = 8;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询