鱼C论坛

 找回密码
 立即注册
查看: 901|回复: 5

[已解决]C语言

[复制链接]
发表于 2020-4-6 19:43:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1D6468274B810DA70868C9D1E4CB9333.png

这题Z的值是怎么变得?
全局变量不是不影响局部变量吗,怎么还能使已经有局部变量z的main函数发生改变?
最佳答案
2020-4-6 20:22:31
答案就是
x, y , z是全局变量。

由始至终你只有全局的x, y, z
你并没有在局部声明过xyz
int main(void)
{
   int x, y, z;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-6 20:00:45 | 显示全部楼层
main里面的是全局变量吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-6 20:04:35 From FishC Mobile | 显示全部楼层
并没有在局部函数重新声明z,那所有的z都是同一个z
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-6 20:22:31 | 显示全部楼层    本楼为最佳答案   
答案就是
x, y , z是全局变量。

由始至终你只有全局的x, y, z
你并没有在局部声明过xyz
int main(void)
{
   int x, y, z;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-6 20:27:11 | 显示全部楼层
x,y,z是全局变量,在函数作用域里面如果有和全局变量同名的局部变量,是会屏蔽的,改变同名局部变量会改变全局变量,所以尽量避免直接用全局变量,牵一发而动全身
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-6 20:42:35 | 显示全部楼层
p函数里面没有申明局部变量z,所以编译器就从全局找z呀,所以影响了
而其他两个,p函数都做了参数,那就对参数进行运算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 12:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表