main()
{ int x=1;
void prt(void);
int x=3;
prt();
printf(“2nd x=%d\n”,x);
printf(“1st x=%d\n”,x);
}
void prt(void)
{ intx=5;
printf(“3th x=%d\n”,x);
}
这样编译,提示x重复定义
main()
{ int x=1;
void prt(void);
{ int x=3;
prt();
printf(“2nd x=%d\n”,x);
}
printf(“1st x=%d\n”,x);
}
void prt(void)
{ intx=5;
printf(“3th x=%d\n”,x);
}
这样编译,会输出5 3 1
我想问下,局部变量什么时候可以重名?
其实两个x都是局部变量。不写花括号为什么不可以呢?什么情况下局部变量可以重名呢?
追答这个括号代表的是在mian函数里面的局部块~而不是作为全局的局部块~