c语言学习笔记

36 阅读1分钟

短路

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)

运算符的优先级

image.png

image.png