基础考验,下面是华为的一道面试题,如果基础不扎实,就很容易跟着自己的思路走了,先看题。
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是何值,其结果只有一个。