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

学习 时间:2026-04-01 08:33:22 阅读:3523
VFP中有如下程序:for i=1 to 10 / i /i=i+1 /endfor .想问一下他是怎样的一个运算方式.我知道他共循环了5次,分别是1,3,5,7,9,但是就是不明白是一个怎样的过程.

最佳回答

细心的柚子

聪明的树叶

2026-04-01 08:33:22

你的程序执行结果应该是: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 10i=i+1endfor在这个循环语句中(默认步长为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,就只会永远循环下去(死循环)。

最新回答共有2条回答

  • 潇洒的羊
    回复
    2026-04-01 08:33:22

    你的程序执行结果应该是: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 10i=i+1endfor在这个循环语句中(默认步长为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,就只会永远循环下去(死循环)。

上一篇 用“expensive/thing/in your home/?" 造句

下一篇 两个月后考托福,现在只是刚接触托福,六级水平吧,我该怎么准备啊,上新东方的班有用吗?不过北京的好像