用什么语句可以返回到if then 继续执行循环(20分)

  • 主题发起人 主题发起人 johnnywong
  • 开始时间 开始时间
J

johnnywong

Unregistered / Unconfirmed
GUEST, unregistred user!
if a=0 then
begin
程序主体;
end
else
请问这里用什么语句返回继续执行begin里面的语句?
 
...
...
begin
..
..
label restartHere;
..
..
end;
..
goto restartHere;
.
 
IF THEN 并不是一个循环语句。
while 条件为真 do begin
if a=0 then
begin
程序主体;
end
else
end
 
GOTO是可以,但在程序中最好少用GOTO语句
 
同意kingdeezj兄的意见,见意不要用goto语句,有时候换一种思维方式问题就变的比较简单!
 
可以用相同的过程
if a=0 then
begin
DoSomething;
end else
begin
ShowMessage('还做相同的事情!');
DoSomething; // 执行相同的代码
end;
 
嘿嘿,GOTO [:)]
It's good idea
 
别用Goto!
 
repeat
if a=0 then
begin
程序主体;
break;
end
else continue;
until true;
 
当然用goto语句
在var前输入:label 1;
1:if a=0 then
begin
程序主体;
end
else
begin
goto 1;
end;
 
在提高效率和不怎么影响可读性的情况下,可以使用GOTO

但不要乱用~
 
一般如果有突发条件的循环最好用while,它可以实现任何形式的循环,像C的FOR一样灵活。
最好不用GOTO,我的程序就从来没出来过GOTO,我特排斥。
我想你可能是想重用then里的一段代码,你可以用这样呀:
statement1;//共用的代码
if a=0
then
statement2
else
statement3;
statement4
//或者把共用的代码放这里

觉得如何?

 
用do..while,
或repeat..until
 
[:)]可以把程序主体作成单独的函数,再次调用就行了
 
将相同部分代码做成过程或函数,分别调用即可。
 
到底要实现什么样的功能?
既然是
if a=0
then
statement2
else
statement3

已经判断了,却要再次执行statement2,是不是有点不合逻辑?
 
加个continue不就行了
 
楼上那位的话不要听。。。
 
后退
顶部