理解C语言中的a++、a--和++a、--a

C语言中 a++ a--++a --a 的区别

a++ 表示先赋值再进行加运算
a-- 表示先赋值再进行减运算
++a 表示先进行加运算再赋值
--a 表示先进行减运算再赋值
注:从上面的概念理解很抽象

实例

1. 理解 a++ 代码

# include 
int main(){
    int a = 10;
    int c ;
    // 第一次直接给 c 赋值 c = a = 10,第二次再计算赋值给 a ,即 a = a + 1 = 10 + 1 = 11
    c = a++;  
    printf("先赋值再运算 \n");
    printf("此时 c 的值为:%d", c);
    printf("此时 a 的值为:%d", a);
    return 0;
}

计算结果如下:

先赋值再运算
此时 c 的值为:10
此时 a 的值为:11

2. 理解 a-- 代码

# include 
int main(){
    int a = 10;
    int c ;
    // 第一次直接给 c 赋值 c = a = 10,第二次再计算赋值给 a ,即 a = a - 1 = 10 - 1 = 9
    c = a--;  
    printf("先赋值再运算 \n");
    printf("此时 c 的值为:%d", c);
    printf("此时 a 的值为:%d", a);
    return 0;
}

计算结果如下:

先赋值再运算
此时 c 的值为:10
此时 a 的值为:9

3. 理解 ++a 代码

# include 
int main(){
    int a = 10;
    int c ;
    // 第一次先计算赋值给 a ,即 a = a + 1 = 10 + 1 = 11,第二次再把 a 的值赋给 c = 11
    c = ++a; 
    printf("先运算再赋值 \n");
    printf("此时 c 的值为:%d", c);
    printf("此时 a 的值为:%d", a);
    return 0;
}

计算结果如下:

先运算再赋值
此时 c 的值为:11
此时 a 的值为:11

4. 理解 --a 代码

# include 
int main(){
    int a = 10;
    int c ;
    // 第一次先计算赋值给 a ,即 a = a - 1 = 10 - 1 = 9,第二次再把 a 的值赋给 c = 9
    c = --a; 
    printf("先运算再赋值 \n");
    printf("此时 c 的值为:%d", c);
    printf("此时 a 的值为:%d", a);
    return 0;
}

计算结果如下:

先运算再赋值
此时 c 的值为:9
此时 a 的值为:9

以上是个人的总结理解,还请各位大佬多指点,谢谢~

你可能感兴趣的:(理解C语言中的a++、a--和++a、--a)