看到一個寫法
var
a: Integer;
begin
a := 0;
if a = (a + 1) then
begin
{ do XXXXX}
end;
end;
求大神指點,什么情況下,怎么個用法,才會條件成立!
uj5u.com熱心網友回復:
永遠不執行唄if false then showmessage('ok');
具體什么目的不清楚
uj5u.com熱心網友回復:
這條件永不成立if a = (a + 1) then,下面的代碼不再執行。這好也許是雷人,注釋陳述句,或是測驗時修改一下,再運行的代碼。
uj5u.com熱心網友回復:
應該是測驗陳述句。鑒定完畢
uj5u.com熱心網友回復:
class procedure RemoveWarnings; inline; static;class procedure TAnyValue.RemoveWarnings;
var
Dummy: Integer;
Value: TAnyValue;
begin
Dummy := 0;
if Dummy = (Dummy + 1) then
begin
{$IFNDEF CPUX64}
{$IFNDEF AnyValue_HookingOff}
Value.Padding[0] := 0;
{$ENDIF}
{$ENDIF}
Value := Value.GetAsArrayItem('');
Value.SetAsArrayItem('', TAnyValue.Null);
end;
end;
我覺得可能是沒用的,這個是原本的代碼。
uj5u.com熱心網友回復:
感覺應該有一定的用處。
看似和CPU有關。
uj5u.com熱心網友回復:
看不出來這么寫的目的,邏輯上不會運行。但偶爾不定什么問題,可能導致了執行。以前也遇到過類似情況,怎么也找不到原因,但是執行了。后來delphi卸載了重裝,就不再執行了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/72899.html
標籤:語言基礎/算法/系統設計
