选择题
有如下程序:
#include<stdio.h>
main()
{
int a=0,b=1;
if(a++ && b++)
printf('T');
else
printf('F');
a=b++;
printf('a=%d,b=%d\n',a,b);
}
程序运行后的输出结果是______。
A、
Fa=1,b=2
B、
Fa=1,b=1
C、
Ta=0,b=2
D、
Ta=0,b=1
【正确答案】
A
【答案解析】
main()函数首先定义整型变量a、b,分别赋初值为0、1;a++&&b++首先执行a++,其中a++是后缀自增运算符,整个a++表达式的值为0,由a++&&b++的短路原则,b++不再执行,所以if语句不成立,执行else语句,输出'F',此时a完成自增运算,值为1;接着执行a=b++,同理后缀自增运算符使得先将b的值赋给a(a的值为1),再执行b++,b的值为2,最终程序输出:“Fa=1,b=2”。故本题答案为A选项。
提交答案
关闭