C在if判断条件中混入?
#include <stdio.h> int main() { int a=9, b = 0; char *p ; int tmp=0; if(1>0?0:0){ printf("1>0 1\n"); } else { printf("1>0 0\n"); // 1>0 0 } if(1>0?++tmp:0 && 1>0?--tmp:0) { printf("1, %d\n", tmp); // 1, 1 } else { printf("0, %d\n", tmp); } }
解释下为什么下面输出的是1,1