#include<stdio.h>
int n = 1; //全局变量
void function()
{
int n = 2;//局部变量
n += 1;
}
int main()
{
function();
printf("%d", n);
return 0;
}
打印的结果为:1
解析:
在function函数内部的n为局部变量,而当局部变量的名字与全局变量的名字一样时,优先使用局部变量,故n+=1中的n是局部变量n,此时局部变量n==3,而当局部变量出了函数内部后不能再使用,且局部变量的修改对全局变量无影响,故在main函数内部打印的n是全局变量n,为1。