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

posted @ 2019-12-17 10:36  yushimeng  阅读(176)  评论(0编辑  收藏  举报