688 B
688 B
- The following program fragments illustrate the logical operators. Show the output produced by each, assuming that
i
,j
, andk
areint
variables.
a. i = 10; j = 5;
printf("%d", !i < j);
// Expected output: `1`, because `!i` evaluates to 0, and 0 is less than 5, so that expression evaluates to true, or 1.
b. i = 2; j = 1;
printf("%d", !!i + !j);
// Expected output: `1`, because !!2 evaluates to 1, and !j evaluates to 0
c. i = 5; j = 0; k = -5;
printf("%d", i && j || k);
// Expected output: `1`, because i && j should evaluate to 0, but `0 || 1` should evalulate to true.
d. i = 1; j = 2; k = 3;
printf("%d", i < j || k);