C语言
这题Z的值是怎么变得?
全局变量不是不影响局部变量吗,怎么还能使已经有局部变量z的main函数发生改变? main里面的是全局变量吧{:10_260:} 并没有在局部函数重新声明z,那所有的z都是同一个z 答案就是
x, y , z是全局变量。
由始至终你只有全局的x, y, z
你并没有在局部声明过xyz
int main(void)
{
int x, y, z;
} x,y,z是全局变量,在函数作用域里面如果有和全局变量同名的局部变量,是会屏蔽的,改变同名局部变量会改变全局变量,所以尽量避免直接用全局变量,牵一发而动全身
p函数里面没有申明局部变量z,所以编译器就从全局找z呀,所以影响了
而其他两个,p函数都做了参数,那就对参数进行运算
页:
[1]