问题
单项选择题
下面程序的输出结果是( )。
# 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。