数组问题
mfp吧
全部回复
仅看楼主
level 2
harker520 楼主
function test()
variable arr
Arr[0]=10
Arr[1]=11
printf(arr[0]+" "+arr[1])
endf
提示指针错误,请问应该如何存取数组内的值,
2015年04月27日 15点04分 1
level 7
variable arr
定义的是一个数而不是数组,如果您要动态地将它扩展为一个数组,需要调用函数
set_array_elem(arr, [0], 10)
set_array_elem(arr, [1], 11)
2015年04月27日 21点04分 2
如何取出数组的一个元素?
2015年05月06日 12点05分
@硒锌同补高吉星cS arr[0]读取arr的第一个元素,arr[1]读取第二个元素,依次类推。
2015年05月07日 04点05分
为什么19行不对? Function mya( ) variable m=0, n=0, sn=0 ,k=0,fd,str,a=0 ,ca,j =0,tem for m=2 to 10 for n=2 to m if mod(m,n)==0 break endif if m==n +1 tem=set_array_elem(sn,k,m) k=k+1 print("sn="+sn+" ") endif Next a=k set_array_elem(ca,[k],null)
2015年05月07日 13点05分
谢谢woshiwppaa在百忙之中的回复!
2015年05月07日 13点05分
level 6
19行以下
ca[k]=tem[k+1]-tem[k ]
Next
for j=1 to a
print(ca )
j=j+1
next
print("ca="+ca+" ")
endf
___________
$>mya()
Function cannot be properly be evaluated!
In function mya :
Line 19 : Invalid expression
Wrong index!
2015年05月07日 13点05分 3
level 7
问题出在
ca[k] = tem[k+1]-tem[k-1]
k等于0,tem[k-1]变成tem[-1],所以不行。
2015年05月07日 13点05分 4
你看错了,不是ca[k]=tem[k+1]-tem[k-1 ] ,是ca[k]=tem[k+1]-tem[k ] 。不存在k-1=-1的问题。
2015年05月08日 07点05分
@硒锌同补高吉星cS 测试您的程序,好像是if m== n+ 1没有执行 (m==2,n==2,break了),造成tem没有赋值,所以出错了。其实您加几个打印语句就出来了。
2015年05月08日 09点05分
@woshiwppaa 在这里贴代码太费劲,您还是发email给我们吧[email protected]
2015年05月08日 09点05分
1