procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
for i := 1 to 100 do
begin
if i > 100 then
begin
label1.Caption := IntToStr(i);
Exit;
end
else label1.Caption := IntToStr(i);
고수님들 혹시 이런경우 보셨는지요? for i := 1 to 100 do begin if 조건 then break; 명령...; end; if i > 100 then begin 명령...; Exit; end; 했을 경우 조건이 만족하지 않으면 i가 101이 나와야 하는데 101이 아니라 다른값이 나와...
프리맨
•
2005.10.25 04:20
for 문에 사용하는 변수는 for문 안에서만 유효하고 밖에서는
무슨값을 가질지 알수 없습니다. Warning도...
오병주
•
2005.10.24 22:38
for 문안에서 조건문이
if i > 100 then
begin
명령...;
...
이중철
•
2005.10.25 02:00
조건이 맞지 않을때 101이 나오는 것은 맞는 것 같네요
그런데 안 나오는 이유는 모르겠습니다.
단지...
무슨값을 가질지 알수 없습니다. Warning도 나오죠.
"FOR-Loop variable 'i' may be undefined after loop"
i 값을 유지하지 않는다는 룰이 있으면
컴파일러가 최적화를 더 잘해줄수 있기 때문입니다.
이런 유형은 while 문을 쓰는게 정답이구요..
goto문에 알러지 없으시면 goto문 써도 되구요..
for i := 1 to 100 do begin
if 조건 then goto Next;
명령...;
end;
조건에 걸리지 않은 경우의 처리;
Next: