#include <stdio.h> int main() { int c, x, y; x = 1; y = 1; c = 0; c = x++ || y++;; printf("\n%d%d%d\n", x, y, c); }
收起
0、null、NaN、undefined、"" 转成布尔值为false 其他则一律返回true;然后就看代码 x++ 此时还是1 但是|| 或 --------一真则真 y++就不计算了 输出的时候 x在上一步++了 所以 x成了2 y是1 上面的x++是true 赋值给了c c就是1了
报告相同问题?