pascal中for语句可以这样写吗? for i:=1 to i-1 do

2024-12-04 19:15:26
推荐回答(5个)
回答(1):

当然可以,事实证明可以
运行下面的代码,只输出10,11
program dd;
var t:integer;
begin
t:=10;
for t:=t to t+1 do
writeln(t);
end.
说明赋值号后面怎么写无所谓,只要格式规范,有数值就行,解释如下:
如果是这样:
for i:=1 to i+1 do
begin
......
i:=i+1;{对i进行新的赋值}
....
end;
这样就会改变循环中的i值,但仍不会改变初值;
pascal中for循环的工作机理应该是这样的
for i:=x to y do
....
先用两个变量记录下x值,y值,然后i从x开始为初值,一直到i等于y后结束
所以不管你循环中怎么改变i值,初值不会变,只是循环值和循环次数发生改变而已...

回答(2):

表示某些编译器认可某些不认可 Free Pascal For Noi 最老的一版认可 后面的不认了
如果一定要在循环内改变i值 请用while循环 或 Repeat循环

回答(3):

可以,不过你的冒号写错了,应该是英文的半角:
FOR i:=1 to i-1 DO

回答(4):

可以 for i:=1 to i-1 do

回答(5):

可以,括号都不用加