下面程序的输出结果是( )。 # include <stdio.h> int x=1; void main() { int x=2; printf("%d,",x); if(x==1) { int x=

admin2010-01-10  27

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

答案1

解析 虽然全局变量的作用域是整个程序,但如果某个函数或语句块中又声明了同名的局部变量,则全局变量被屏蔽,在该函数或语句块中所用到的该变量都是那个同名的局部变量。所以,本题程序第二行定义的全局变量int x=1;可完全忽略,故程序输出结果为2,2,故应该选择A。
转载请注明原文地址:https://kaotiyun.com/show/XGWp777K
0

最新回复(0)