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 回答