以下程序运行后的输出结果是【 】。 main() { int p=30; printf("%d\n",(p/3>0?p/10:p%3)); }

admin2013-06-11  25

问题 以下程序运行后的输出结果是【  】。
   main()
   {  int  p=30;
     printf("%d\n",(p/3>0?p/10:p%3));
   }

选项

答案3

解析 三目运算表达式的规则为如果“?”前面表达式的值为真,则取“:”前的表达式的值,否则,取“:”后面表达式的值。又由于条件运算符的结合方向是自右向左的,所以在本试题中,先计算表达式中p%3,该值为0,再计算表达式p/10其值为3,最后计算表达式P/3该值为10,所以此表达式等价于“10? 3:0”,显然取“:”前的值为3,所以最后输出的值为3。
转载请注明原文地址:https://jikaoti.com/ti/Jan0FFFM
0

最新回复(0)