7是第二次循环的结果,子程序里定义的i是静态变量,不会随着子程序执行完成而清除的,再就子程序的循环是直到型循环,每次调用子程序都会执行一次语句a(2)=a(2)+3,然后i值递增,i>=2则退出循环,所以a(2)=3+4=7。如果第三、四次call proc(a),结果都会是3 5 7 9 5,第五次i=5,定义的数组为a(5),有6个数组元素,所以a(i+1)=a(6),出错,下标越界。
[ 本帖最后由 xzlxzlxzl 于 2014-12-4 13:26 编辑 ]
2014-12-04 11:39
2014-12-04 12:30
2014-12-04 18:19