问题 单项选择题

执行下面的一段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。

填空题
单项选择题