OR and AND operation in C
问题 I have a doubt in the program below. int main() { int i = -3,j = 2, k = 0,m; m = ++i || ++j && ++k; printf("%d %d %d %d\n", i, j, k, m); return 0; } I get the output as -2 2 0 1 . In OR operation if 1st value is true then it won't evaluate the 2nd one so i = -2 and j =2 . Then comes the AND operation . It will check for both the value to be true.So if k = 1 then m = 1 . So the output should be -2 2 1 1 . I run and check and got output as -2 2 0 1 but I could not understand how. 回答1: You used