TC官方合作论坛

 找回密码
 立即注册
查看: 1146|回复: 8

[已解决] 在功能里调用变量是优先调用的是局部变量还是全局变量?

[复制链接]
发表于 2013-11-3 00:17:34 | 显示全部楼层 |阅读模式

马上加入TC

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

x
初学者的问题……昨天刚接触TC……不知道有没有说错!如果说对了说明我对变量的理解是对的,如果有说错希望大神能解答下!谢谢!
回复

使用道具 举报

发表于 2013-11-3 10:05:00 | 显示全部楼层

  1. <P>空间 aa

  2. 变量  test="ABC"
  3. </P>
  4. <P> </P>
  5. <P>功能 测试1_点击()
  6.     变量 test="abc"
  7.     调试输出("test=" & test)
  8. 功能结束</P>
  9. <P> </P>
  10. <P>功能 测试2_点击()
  11.     调试输出("test=" & test)
  12. 功能结束</P>
  13. <P> </P>
  14. <P>空间结束
  15. </P>
复制代码
----------------------测试方式1---------------------------------
若先点“测试2”, 输出 test=ABC
  再点 ”测试1“,  输出 test=abc
----------------------测试方式2---------------------------------
若先点“测试1”, 输出 test=abc
  再点 ”测试2“,  输出 test=abc

------------------------------------------------------------
3#  第二条说的基本是对的。只有调用了和全局变量同命的那个局部变量所在的函数时,才会覆盖。见测试方式1

5# 想当然了。  咋会编译不通过呢





本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2013-11-3 02:16:47 | 显示全部楼层
本帖最后由 klyyz1980 于 2013-11-3 02:19 编辑

1:局部变量和全局变量不同名的话,先调用谁由你决定,你写的代码先调用谁就调用谁.
2:局部变量和全局变量同名的话,那么全局变量的值就被局部变量的值修改了,也就是覆盖了.
回复 支持 1 反对 0

使用道具 举报

发表于 2013-11-3 01:14:24 | 显示全部楼层
全局变量会先申明,先分配内存
回复 支持 反对

使用道具 举报

发表于 2013-11-3 08:23:51 | 显示全部楼层
嗯楼上送的是对的
局部 跟全局 不能一样的  不然会被覆盖掉的
回复 支持 反对

使用道具 举报

发表于 2013-11-3 08:38:02 | 显示全部楼层
首先呢 如果你在功能里使用和全局变量一样的局部变量.编译时不会通过的.
其次,变量的使用不是说先调用全局还是先调用局部 而是你代码调用哪个就是哪个 这个不存在优先问题.因为局部和全局变量名一样是非法的.你代码不会通过编译的.
回复 支持 反对

使用道具 举报

发表于 2013-11-3 10:09:43 | 显示全部楼层
反复定义的例子,你自己也去测试吧?
  1. 空间 aa

  2. 变量 test="ABC"
  3. 变量 test="ABCDEFG"
  4. 变量 test="12345678"
  5. 功能 测试1_点击()
  6.     变量 test="abc"
  7. 调试输出("test=" & test)
  8. 功能结束


  9. 功能 测试2_点击()
  10.     调试输出("test=" & test)
  11. 功能结束

  12. 空间结束
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-9 14:46:04 | 显示全部楼层
klyyz1980 发表于 2013-11-3 02:16
1:局部变量和全局变量不同名的话,先调用谁由你决定,你写的代码先调用谁就调用谁.
2:局部变量和全局变量同名 ...

谢谢!你的回复也很有用!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-9 14:47:29 | 显示全部楼层
dongyijun1979 发表于 2013-11-3 10:05
----------------------测试方式1---------------------------------
若先点“测试2”, 输出 test=ABC
   ...

谢谢!你的方法很好理解!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-23 11:44 , Processed in 0.043450 second(s), 25 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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