熟悉VB的朋友帮个忙(50分)

  • 主题发起人 blackdog
  • 开始时间
B

blackdog

Unregistered / Unconfirmed
GUEST, unregistred user!
GF准备考试碰到的问题,小弟对VB不是很了解,请大家帮忙解答一下[:D]
以下两句话哪句对?为什么?
1。 不同模块中定义的全局变量不可以同名.
2。 同一模块中不同级的变量可以同名.
这是原题我看了就觉得拗口
 
我选第二个。
 
哈哈,简单,当然是第一句话对啦!用VB试一下,结果是:发现二义性名称XXX!
拿分来吧!
 
hehe,我也来拿分:第一句话。
 
[:D]都对!
 
拜托解释一下啊,运行我也会嘛,至少把规则说一下呀
书上有这么句话:假定在一个窗体模块中申明了一个全局变量TEMP,在通用过程
TEST中声明了一个局部变量TEMP,那么在通用过程TEST中引用名字TEMP,访问的
是局部变量TEMP;通用过程TEST以外引用名字TEMP,则访问的是全局变量TEMP。]
一般来说,当变量名称相同而作用域不同时,优先访问局限性大的变量。
这好象说第二句对啊
 
见鬼,怎么三种可能答案都出来了
 
还是不满意?
 
解释一下嘛,我也要交差啊[8D]
 
如果为了考试,记住答案就一切ok了。反正考完了就什么都不用管了。你知道那么多干什么呢?
 
是她看考辅又疑难都由我解决,我当然得解释给她听啊,那本书的答案错的实在太多,记答案
难说能及格
 
考试的关键不是复习,而是赵老师答疑,探一探口风!
 
1。 不同模块中定义的全局变量不可以同名.
如果是在全局模块中定义的则不能同名,如果是在窗体模块中定义的可以同名
2。 同一模块中不同级的变量可以同名.
这句一定是对的
如果要选择一个正确的,选2,多选我就选取两个
 
多人接受答案了。
 
用以下这段程序测试,发现黑狗兄说的不无道理
Public TEMP As String
Function TEST(TEMP As String) As String
MsgBox TEMP
TEMP = "你好!"
End Function
Private Sub Command1_Click()
TEST (TEMP)
End Sub
Private Sub Form_Load()
TEMP = "Hello!"
End Sub
运行后没出现错误,且发现出现的永远是"Hello!"而没有"你好!",真是怪了,那么这样子
说第二句也好像是对的了。见鬼!翻了一下MSDN,上面写
Module-level identifiers and project-level identifiers (module names and
referenced project names) may be reused in a procedure, although it makes
programs harder to maintain and debug.好像也支持第二句话。可第一句话明显是
对的呀。这个题目真的只有一个正确答案吗?
 
仔细看看,真的两句话都是对的,
我看黑狗兄还是换本教材吧,如果一个连问题都问不清楚的教材是不太可能有好的效果
来帮助你通过考试的。
 
不是我要考啊,是我GF考啊,又不能敷衍她
 
顶部