有如下程序 #include main() { int a = 0, b = 1; if (++a == b++) printf("T"); else printf("F"); printf("a=%d,b=%d\n", a, b); printf(

admin2015-07-28  63

问题 有如下程序
#include
main()
{
int a = 0, b = 1;
if (++a == b++)
printf("T");
else
printf("F");
printf("a=%d,b=%d\n", a, b);
printf("\n");
}
程序运行后的输出结果是( )。

选项 A、Ta=1,b=2
B、Fa=1,b=2
C、Ta=0,b=1
D、Fa=0,b=2

答案A

解析 自增运算符前置时,该变量是先自增1后再参与其他运算;自增运算符后置时,该变量是先参与运算后再自增1。由此,if判定条件判定的是自加后的a值和自加前的b值是否相等,判定条件为真,输出T,此时a=1,b=2,所以答案选A。
转载请注明原文地址:https://jikaoti.com/ti/5sn0FFFM
0

最新回复(0)