短路
a && b++
a = 0时 b被短路,不被执行
如果为a || b++
无论a是否为0均会执行b++
三元运算符
关系表达式?表达式1:表达式2;
int b = a > 0 ? a : -1 * a
首先计算关系表达式的值,如果成立,表达式的值就是运算结果,如果不成立,表达式2的值就是运算结果
#include<stdio.h>
int main (){
int a , b,c;
printf("请输入三个整数,空格隔开:");
scanf ("%d %d %d",&a,&b,&c);
int e = a > b ? a : b;
int d = e > c ? e : c;
printf("%d",d);
return 0;
}
会输出最大的数
逗号运算符
例:int k =(2,3)
int d = (a++,b++,c)