C语言简单的短路求值问题

{

int a = 0, b = 0,x;

x = 0 && ( a = b = 777);
printf("%d %d %d\n", a, b, x);

getch();
}

为什么a,b输出的是0,而不是777 ?

x = 0 && ( a = b = 777);

因为x=0 的值为假
所以这个表达式的值已确定为假
不再执行表达式 a = b = 777
温馨提示:答案为网友推荐,仅供参考
相似回答