有以下程序  #include <stdio.h>  main()  {int a=10,b=11;   if(++a==b++)   printf("T");   else   printf("F");   printf("a

admin2022-04-01  15

问题 有以下程序
 #include <stdio.h>
 main()
 {int a=10,b=11;
    if(++a==b++)
      printf("T");
    else
      printf("F");
    printf("a=%d,b=%d\n",a,b);
 }
 程序运行后的输出结果是(          )。

选项 A、Fa=11,b=11
B、Fa=10,b=12
C、Ta=10,b=11
D、Ta=11,b=12

答案D

解析 自增运算符是将运算对象的值增1,它有前缀形式++a和后缀形式b++,其中++a表示首先将a的值自增1,然后表达式++a的值就是自增后a的值;而b++表示首先将b的值作为表达式的值,然后再将b的值自增1,所以本题中,在a的初值为10,b的初值为11的前提下,表达式++a==b++,等价于11==11.条件为真,所以输出“T”,if语句执行完后,a的值为11,b的值为12,输出a=11,b=12,本题答案为D。
转载请注明原文地址:https://jikaoti.com/ti/OXd0FFFM
0

最新回复(0)