下面程序的输出结果是( )。 # include <stdio.h> int x=1; void main() { int x=2; printf("%d,",x); if(x==1) { int x=4; printf("%d,",x++); } printf("%d",x++); }
A.2,2
B.1,1,2
C.2,4,3
D.2,3
参考答案:A
解析: 虽然全局变量的作用域是整个程序,但如果某个函数或语句块中又声明了同名的局部变量,则全局变量被屏蔽,在该函数或语句块中所用到的该变量都是那个同名的局部变量。所以,本题程序第二行定义的全局变量int x=1;可完全忽略,故程序输出结果为2,2,故应该选择A。