主题:为什么不能被赋值?紧急求救!
不才之木
[专家分:0] 发布于 2007-02-05 11:43:00
我的程序中如下一句:t0[a]=u%[0,i]
通过f6我查过u%[0,i]确有值,查t0[a]确=0,查a 不越界,t0[n]数组定义正常,且属第一次调用,前面没出现与t0相冲突的任何名字,此语句是在循环中的,循环to n ,a<n,应无越界问题,且运行中没出现错误提示,仅是结果t0[a]=0而u%[0,i]<>0,
唯一异常的,定义t0[n]时,前面释放了一个二维数组,被释放的数组也与此循环无关,
百思不得其解,请有经验的告我为什么.
回复列表 (共16个回复)
11 楼
moz [专家分:37620] 发布于 2007-02-09 09:39:00
不知道通用的逻辑是不是指 C 逻辑? 谁说 a=a+1 不能算是通用逻辑?
[quote]2,i = 0时,不出错,因为定义数组时0开始,使用时1开始.0不越界,[/quote]
[quote]会在y[a]=x[i-1]一行出错[/quote]
i=0时,x(i-1)也就是x(-1),还不越界出错??
[quote]4,最后的循环,我以为不多余,在上面循环里,很难显示y[a],数组,不信你试试[/quote]
我不会这么试的,那好像跟自己过不去一样,要试我会像下面这样试:
[quote][color=ff0000]
for i=1 to a
print y([/color][color=ff00ff]i[/color][color=ff0000])
next
[/color][/quote]
12 楼
不才之木 [专家分:0] 发布于 2007-02-09 11:44:00
我说的通用的逻辑指的是,平常生活中用的推理方法,不指某语言硬性规定的规则.在生活中,a =a +1,是不和逻辑的.
既然只能试:
for i=1 to a
print y[a]
next i
试别的是跟自己过不去,说明它在调试中还是有用的,尽管它在完成后可能是多余的,
我们性格不同,你更严谨,我更随便.
13 楼
moz [专家分:37620] 发布于 2007-02-09 12:06:00
你可能没听懂我说的话,
也没看清楚你与我之间的区别,
有时间的话,你再仔细研究一下你我的区别吧。
14 楼
强强 [专家分:4740] 发布于 2007-02-17 14:39:00
哥们你是学C的出身吧,MOZ兄这几句嗑唠地也挺硬啊,哈哈哈
15 楼
谷雨风情 [专家分:10] 发布于 2007-07-25 14:32:00
dim x[200],y100]
for i=0 to 200
z=x[i-1]
x[i]=fix[rnd[i *10 ]]
if x[i]=0 then
a=a+1
y[a]=z
end if
next i
for i=1 to a
print y[a] 此时y[a]被赋值了
next i
end
姑且说你这是程序
z=x[i-1] 有意义吗
16 楼
superlcr [专家分:2300] 发布于 2007-07-26 00:51:00
哎,,楼主学C学多了。。。。都用中括号了
对于
for i=1 to a
print y[a] 此时y[a]被赋值了
next i
评价就一句话::
你太有才了,佩服您的幽默感
我来回复