0

在“C Modern approach 2nd'ed”中有一些练习我无法理解其含义。结果是1,你怎么读?谢谢你。

#include <stdio.h>

int main(void)
{

    int i, j, k;

    i = 5;
    j = 0;
    k = -5;

    printf("%d", i && j || k);
    return (0);

}
4

3 回答 3

7
 i && j || k

相当于

 (5 && 0) || -5

相当于

0 || -5

相当于1

逻辑运算符产生一个值0or 1

于 2013-07-22T15:38:57.760 回答
1

命名的运算符 ||(or) &&(and) 是布尔运算符。

他们返回 0 或 1。

为了 x&&y 返回 1,x 和 y 必须是除 0 以外的任何数字。如果其中至少一个等于 0,则返回 0。

运算符 || 如果其中至少一个不同则返回 1,则返回 0,如果它们都等于 0,则返回 0。

于 2013-07-22T17:41:32.777 回答
0

它被操作为

 ((i && j) || k)

所以

(5 && 0)=0

  0||-5=1
于 2013-07-22T15:41:40.057 回答