老牛来学习 发表于 2020-4-6 19:43:36

C语言



这题Z的值是怎么变得?
全局变量不是不影响局部变量吗,怎么还能使已经有局部变量z的main函数发生改变?

墨羽岚 发表于 2020-4-6 20:00:45

main里面的是全局变量吧{:10_260:}

倒戈卸甲 发表于 2020-4-6 20:04:35

并没有在局部函数重新声明z,那所有的z都是同一个z

ba21 发表于 2020-4-6 20:22:31

答案就是
x, y , z是全局变量。

由始至终你只有全局的x, y, z
你并没有在局部声明过xyz
int main(void)
{
   int x, y, z;
}

大河之jian 发表于 2020-4-6 20:27:11

x,y,z是全局变量,在函数作用域里面如果有和全局变量同名的局部变量,是会屏蔽的,改变同名局部变量会改变全局变量,所以尽量避免直接用全局变量,牵一发而动全身

4goodworld 发表于 2020-4-6 20:42:35

p函数里面没有申明局部变量z,所以编译器就从全局找z呀,所以影响了
而其他两个,p函数都做了参数,那就对参数进行运算
页: [1]
查看完整版本: C语言