局部变量与全局变量重名问题
听说局部变量和全局变量可以重名,但是用全局变量时要使用“::”,写了几行代码验证了下,发现错了,不知道是我代码写的问题还是其他。。。
代码:
#include <stdio.h>
#include <stdlib.h>
int a=10;
int main()
{
int a=2;
printf("local a=%d\n", a);
printf("all a=%d\n",::a);
return 0;
}
求解惑?????
[解决办法]
如果C
#include <stdio.h>#include <stdlib.h>static int a=10;void printA(){ printf("all a=%d\n",a);}int main(){ int a=2; printf("local a=%d\n", a); printA(); return 0;}
[解决办法]
一流正解
[解决办法]