最佳答案
……
子程式 B
<201> set talk off
<202> clear
<203> private y,w
<204> x=x+100
<205> y=200
<206> w=40
<207> do C
<208> ?x,y,z,w
<209> set talk on
<210> return
……
你是说这个吗?
……
补充:你再举例子解释一下局部变量不能在上层模块或下层模块使用的意思
答:
就象201~210这个例子,y和w就是局部变量;
A是B的上层模块、C是B的下层模块;
B中的Y和W是private变量,可以在C里面使用、但不能在A里面使用。
……
补充:这个是不是在B程序中y w 在C程序中被local了,所以不变,所以答案仍旧是B 程序里赋的值
答:
对呀!理解正确!
……
补充:为什么B程序和C程序的y w 就是它的赋值哦
答:
因为B里面的y和w都是private变量,
所以A里面的y和w在B里面没有作用,
也就是说B的y和w就是它的赋值。
……
补充:我这里不能再追问了,我就在补充提问里提你看上面就是了
答:
没关系,你随时提问都可以;
只不过我也会回答得没那么快了。
追问:
为什么B程序调用了C程序其值不变,也就是在B程序里赋的值
追问:
就像那个3 1 1还记得吗
追答:
追问:为什么B程序调用了C程序其值不变,也就是在B程序里赋的值答:你是说这个吗:子程式 C <301> set talk off <302> clear <303> local y,w <304> y=50 <305> x=x+100 <306> w=60 <307> ?x,y,z,w <308> set talk on <309> returnC里面有LOCAL,就不会用B里的嘛。
追答:
追问:就像那个3 1 1还记得吗答:不记得了……
追问:
是这个*MAIN .prg PUBLIC A,B STORE 1 TO A,B,C DO M ?A,B,C DO N ?A,B,C RETURN *m . prg 子程序PRIVATE B,CSTORE 3 TO A,B,C? A,B,CRETURN*n.prg 子程序LOCAL A, CSTORE 6 TO A,B,CDO M? A,B,CRETURN
追问:
学这个visual foxpro就是用命令找数据吧
追答:
呵呵,foxpro可以做很多事,找数据只是最基础的部分;能否问问你多大了、读几年级?
最佳答案由网友 jariii 提供