1

明日は累積試験の勉強をしていますが、前回の試験で次の質問が間違っていました。私は誰かが私にこの質問を説明できることを望んでいましたか?(〜m)はどういう意味ですか?

質問によると
、次のスクリプトを実行した後、mの値は何ですか?

a=1; b=2; m=0;  
if (~m)  
    m = m+1;  
    if (a-b > 0)  
        m = m+1;  
    else  
        m = m -1;  
    end  
elseif (m > 1)  
    m = m + 2;  
else  
    m = m - 2;  
end

正解は0ですが、なぜですか?私はm=-2だと思いました

4

1 に答える 1

9

~手段NOT。_ TRUEただし、。とまったく同じでない限り、数値はすべて考慮され0ます。

したがって、このロジックによって実際に実行されるコマンドは次のとおりです。

m = m+1;  %Following if (~m)
m = m-1;  $Following else

また、コードにはネストされたifステートメントがあります。複数レベルのインデントを使用すると、読みやすくなります。

于 2013-03-19T05:18:26.137 に答える