C语言基础问题求解!

img

int a, b, x=378;
a = x % 10 / 7; // x%108,再整除71,因此a=1
b = (x=0) || (x=-1); // 先计算x=0,表达式值是0,即假;再计算x=-1,表达式值为-1,非零,因此整个||逻辑表达式值为真,即1,所以b=1
printf("%d,%d", a, b); // 输出1,1

int a, b, x=378;
a = x % 10 / 7; // x%10得8,再整除7得1,因此a=1
b = (x=0) || (x=-1); // 先计算x=0,表达式值是0,即假;再计算x=-1,表达式值为-1,非零,因此整个||逻辑表达式值为真,即1,所以b=1
printf("%d,%d", a, b); // 输出1,1

你这有答案