为什么这道C语言题选C不选D呀

2024-12-03 07:25:12
推荐回答(3个)
回答1:

分开写你就明白了 说实在的出这种题的老师绝对是脑残= =

a = a *a>b?a:b

t = a;
a>b?a:b 是a大于b 取a 如果a小于b 取 b 这里a是小于b的所以取b

a = a*b = 7*9 = 63 ;
t = a
t = 63

回答2:

表达式中不能嵌套return语句

回答3:

条件运算优先于赋值运算,所以
t=a*=a>b?a:b 等价于 t=a*=(a>b?a:b)
(a>b?a:b)的结果是b的值(因为a>b不成立,所以取冒号右边的值),也就是9,于是就有
t=a*=9,展开就是
t=a=a*9
t=a=63
t=63