若已经定义int a=25,b=14,c=19;,以下三目运算符(?:)所构成的语句的执行结果是 【 】 。 a++

admin2013-02-23  26

问题 若已经定义int a=25,b=14,c=19;,以下三目运算符(?:)所构成的语句的执行结果是  【  】  。
   a++<=2&&b--<=2&&c++? printf("***
   a=%d,b=%d,c=%d\n",a,b,C) :printf("a=%d,b=%d,c=%d\n",a,b,C) ;

选项

答案a=26,b=14,c=19

解析 这种条件表达式的—般形式为:表达式1?表达式2:表达式3,三目运算符的执行顺序,先求解表达式1,若非0则求解表达式2,此时表达式2的值就作为整个表达式的值,若表达式1的值为0,则求解表达式3,此时表达式3的值就作为整个表达式的值。C语言在做一系列表达式相与时,从左到右分别计算各表达式的值,一旦遇到一个表达式为false,则剩余的表达式都不再进行运算。该题中,a++<=2的值为false,则b-<=2和c++就都不再运算再运算。
转载请注明原文地址:https://kaotiyun.com/show/cqPp777K
0

最新回复(0)