C语言环境中,设a=1,b=2,c=3,d=4,则表达式:a>b?a:c>d?a:d的结果为( )

2024-11-08 23:17:51
推荐回答(2个)
回答1:

答案为4,“a?b:c”是从右向左执行的,也就是说a为真的话,这个式子就可以看做b,否则可以看做c;c大于d么,不是,则变成了a>b?a:d,a大于b么,不是,则为d,d=4.

回答2:

结果是4,一会写出过程
“?:" 这是一个三目运算符,以 “c>d?a:d”这个代码为例,程序会首先判断“c>d”是否为真,若为真则执行冒号前的语句,即其结果为”a“的值;若为假,则执行冒号后的语句,即其值为"d"的值。
一般遇到这样的题要拆分着做,首先判断最左边的“a>b”,这个结果为假,根据条件判断运算符的性质,所以接下来执行第一个冒号后的语句“c>d?a:d”,接着判断“c>d”,结果为假,所以最终取值为第二个冒号后的值,即为d的值,也就是4。