基礎考驗,下面是華爲的一道面試題,如果基礎不紮實,就很容易跟着自己的思路走了,先看題。
int fun1(int i)
{
return i++;
}
int fun2(int i)
{
return i--;
}
int fun3(int i)
{
return ++i;
}
int i = -10;
i = fun1(i)||fun2(i)||fun3(i);
如果我們輸入的i是一個正值,我們會毫無疑問填寫1,但是如上面列子,是一個負數,那結果會是什麼?正確答案還是1.大家可以敲下代碼試驗下。
解釋:在邏輯運算符操作中只有0,1之分,也就是false和true之分,而負數對應的邏輯值是true,所以這題不管i是何值,其結果只有一個。