静态全局变量和静态局部变量的问题

发布网友

我来回答

3个回答

热心网友

void fun2(void)
{
j=0;
j++;
printf("j=%d\n",j);
}

你这个func2里面的j不是静态变量啊~~~
如果你把这里面的j=0,去掉的话,会得到你要的结果1
但是你在这个函数里定义了一个局部非静态变量,在函数内部,这个变量具有更高的优先权!

热心网友

楼上的已经解答了,我就不多说了

热心网友

你虽然在第2行定义了静态变量,可是fun2中定义的局部变量j=0,把全局变量屏蔽了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com