与: 符号:&& 格式:表达式1 && 表达式2 规则:有一个为假,结果就是假: 全真就是真的
例如:
printf("%d\n", 1 < 0 && 1 > 0);//0
printf("%d\n", 3 > 2 && 1 > 0);//1
printf("%d\n", 3 < 2 && 1 > 3);//0
运行:
短路: // 短路 // &&:如果左边为假,则右边不求值 int i = 0; 2 > 3 && (i = 1); printf("%d\n",i);//0 // ||:如果左边为真,则右边不求值 int j = 0; 3 > 2 || (j = 1); printf("%d\n",j);//0
运行如下:
非: 符号:! 表达式: !表达式 规则:如果表达式为假,则!表达式为真;如果表达式为真,则!表达式为假
例如: //!取反 printf("%d\n", !(1 > 0) );//0 printf("%d\n", !0 );//1 printf("%d\n", !2 );//0 printf("%d\n", !!2 );//1 printf("%d\n", !0.01 );//0
运行如下: