VFP中CLEAR S=0 FOR n=1 TO 10 S=S+n n=n+1 ENDFOR S

问题描述:

VFP中CLEAR S=0 FOR n=1 TO 10 S=S+n n=n+1 ENDFOR S

求1至10的和,最后求得S=45你再看看 答案是25我刚才的回答有错n=1时,S=1,然后n=2进入FOR循环,n加1,得n=3,此时S=1+3=4,然后n=4再次进入FOR循环,n加1,得n=5,此时S=4+5=9,然后n=6再次进入FOR循环,n加1,得n=7,此时S=9+7=16,然后n=8再次进入FOR循环,n加1,得n=9,此时S=16+9=25,然后n=10再次进入FOR循环,n加1,得n=11,此时n>10,退出循环输入S=25这个问题是不是有问题,按这样的算法n=n+1 应该放在S=S+n前面或者FOR n=1 TO 10的前面才对嘛没问题,如果在S=S+n前面,则最后的结果为2+4+6+8+10=30如果在FOR n=1 TO 10的前面,则n与循环无关