【C语言】本地变量(局部变量)

今天在写一道交换数字的题目时,我碰见了这样的问题

按照交换函数的定义,应该值都会变化,可结果却不是这样,反观我另一个程序,我把打印函数(printf)放到了swap函数中,值却会发生变化

看来问题是出在了printf函数所在的位置不同。那么我试试把三组数据转换的printf函数也放在swap函数中而不是放在main函数中。

 看来结果和我们预测的一样,位置不同导致了结果不同。我又听了听课,发现导致这样的原因是因为局部变量(也叫做本地变量)的缘故。

譬如在一个代码块中,声明了一个变量

{

int a=0;
}

把这个放在主函数中,例如

通过这个例子就能很好的看出来局部变量a2和全局变量a1、a3之间的变化。

并且a2只受到它的块的影响,因为a3等于a1,所以局部变量a2只在它的代码块里面起作用。

我会继续学习c语言知识,与大家分享!

--------------------------------------------——--————————————————————————-

2022.2.28继续更新:

根据查到的本地变量的规则:

 

也就是说在块{}里面的函数使用具有局限性,例如:

 这也就是局部变量的定义,它只在块内有效,出了找个块,就不再存在了

以上就是本次的分享内容了,喜欢我的分享的话,别忘了点赞加关注哟!

如果你对我的文章有任何看法,欢迎在下方评论留言或者私信我鸭!

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 31
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张学恒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值