作业帮 > 数学 > 作业

VFP中有如下程序:for i=1 to 10 / i /i=i+1 /endfor .想问一下他是怎样的一个运算方式.

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/07/18 05:32:31
VFP中有如下程序:for i=1 to 10 / i /i=i+1 /endfor .想问一下他是怎样的一个运算方式.
我知道他共循环了5次,分别是1,3,5,7,9,但是就是不明白是一个怎样的过程.
你的程序执行结果应该是:1,3,5,7,9 原因是“ i=i+1 ”改变了“ i ”的值,从而改变了循环次数.
for i=1 to 10 本来是从1循环到10,共循环10次(因默认步长为1),
但是,在 i 后面加了 i=i+1,执行第一次循环时,i为1,i=i+1=2
因为i已经为2了,此时,for i=1 to 10就要从3开始.
同理:i为3时,i=i+1=4,i已经为4了,此时,for i=1 to 10就要从5开始
.
i为7时,i=i+1=8,i已经为8了,此时,for i=1 to 10就要从9开始,
在这个循环语句中,
for i=1 to 10
i=i+1
endfor
在这个循环语句中(默认步长为1),赋值语句 “i=i+1”是改变循环次数的关键,当 “i=i+1”这个赋值语句给“ i ” 赋了值新值后,for i=1 to 10循环就从“ i ” 的新值后一位开始循环.
如果写成“ i=i+9 ”,就只会循环1次,因循环第一次后“ i ”就为10了.
如果写成“ i=1 ”,就是个死循环,因每次循环“ i ”都为1,永远到不了10,就只会永远循环下去(死循环).