问题
单项选择题
执行下面的一段C程序后,变量x的值为()。
charx=200;
int a=300;
BOOL flag;
int value1, value2;
value1=200:
value2=300;
if(flag&&((value1=value2)==200))
x=x+a;
A.0
B.200
C.300
D.500
答案
参考答案:B
解析:
[分析] 本题考查C语言的基础知识。
在本题中,x的初值为200。如果flag的值为0(为假),则“x=x+a;”语句不被执行;如果flag的值为非0(为真),则需要判断“(value1=value2)=200”的结果。根据优先级关系,先执行括号内的value1=value2赋值语句,再用value1的值与200相比较,value1的值为300,与200不等,因此“(value1=value2)=200”的结果为假。由于if语句的条件为假,故“x=x+a;”语句不被执行,所以,x的值依然为200。