当前位置: 首页 > 编程笔记 >

C语言 自增自减运算的区别详解及实例

华英睿
2023-03-14
本文向大家介绍C语言 自增自减运算的区别详解及实例,包括了C语言 自增自减运算的区别详解及实例的使用技巧和注意事项,需要的朋友参考一下

自增自减

  1. ++自增运算符:如a++,++a都等价于a = a + 1;
  2. –自减运算符:如a–,–a都等价于 a = a -1;

++a和a++的区别

虽然++a和a++等价的结果一样,但是运算过程不同,a++ 是先使用a的值,然后再对a做加1处理,++a是先对a作加1处理,然后再使用a的值。

例子

 #include <stdio.h> 
  int main() 
  { 
    //int m = 10, n1, n2; 
    //n1 = m++;先将m的值赋给n1,然后m再做自增运算,所以此时,n1=10,m=11; 
    //n2 = ++m ;先将m做自增运算,然后在将运算后的m值赋给n2,所以此时,n2=11,m=11; 

    int a = 10,b =10, c, d; 
    c = (a++) + (++a); 
    //由上例n1=m++,n2=++m,m++=11可得出c=10+12;分析:前面括号所得值为10,而前面括号中的a经过自增运算后a的值为11,然后赋值给后面括号中的a,后面括号中的a经过自增运算后a的值为12,后面括号最后赋值为12; 
    d = (++b) + (b++); 
    //由上例n1=m++,n2=++m,++m=11可得出d=11+11;分析:前面括号所得值为11,而前面括号中的a经过自增运算后b的值为11,然后赋值给后面括号中的b,后面括号中的b先将值赋给后面括号,所以后面括号的值为11; 
    printf("c=%d\nd=%d\n",c,d); 
    return 0; 
  } 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 一个整数类型的变量自身加 1 可以这样写: a = a + 1; 或者 a += 1; 不过,C语言还支持另外一种更加简洁的写法,就是: a++; 或者 ++a; 这种写法叫做 自加或 自增,意思很明确,就是每次自身加 1。 相应的,也有 和 ,它们叫做 自减,表示自身减 1。 和 分别称为自增运算符和自减运算符,它们在 循环结构(后续章节会讲解)中使用很频繁。 自增和自减的示例: 运行结果: a

  • C++ 运算符 自增运算符 ++ 会把操作数加 1,自减运算符 -- 会把操作数减 1。因此: x = x+1; 等同于 x++; 同样的: x = x-1; 等同于 x--; 无论是自增运算符还是自减运算符,都可以放在操作数的前面(前缀)或后面(后缀)。例如: x = x+1; 可以写成: ++x; // 前缀形式 或者: x++; // 后缀形式 前缀形

  • 在对一个变量做加 1 或减 1 处理时,可以使用自增运算符 ++ 或自减运算 --。 ++ 或 -- 是单目运算符,放在操作数的前面或后面都是允许的。++ 与 -- 的作用是使变量的值增 1 或减 1。 操作数必须是一个整型或浮点型变量。自增、自减运算的含义及其使用实例如表 1 所示。 表 1 自增、自减运算的含义及其使用实例 运算符 含义 实例 结果 i++ 将 i 的值先使用再加 1 赋值给

  • C++还提供一元自增运算符(increment operator,++)和一元自减运算符(dcrement operator),见图2.13。如果变量c递增1,则可以用自增运算符++,而不用表达式c=c+1或c+=1。如果将自增和自减运算符放在变量前面,则称为前置自增或前置递减运算符(preincrement或predecrementope~torL如果将自增和自减运算符放在变量后面,则称为后置自

  • 本文向大家介绍C语言 位运算详解及示例代码,包括了C语言 位运算详解及示例代码的使用技巧和注意事项,需要的朋友参考一下 所谓位运算,就是对一个比特(Bit)位进行操作。在《二进制思想以及数据的存储》一节中讲到,比特(Bit)是一个电子元器件,8个比特构成一个字节(Byte),它已经是粒度最小的可操作单元了。 C语言提供了六种位运算符: 运算符 & | ^ ~ << >> 说明 按位与 按位或 按位

  • 本文向大家介绍浅谈C语言=与==的区别详解,包括了浅谈C语言=与==的区别详解的使用技巧和注意事项,需要的朋友参考一下 在 C 语言中,最容易产生混淆的操作符要属“=”与“==”。其中,“=”并不等于符号,而是赋值操作符,如 x=3。除此之外,还可以在一个语句中向多个变量赋同一个值,即多重赋值。例如,在下面代码中把 0 同时赋给 x、y 与 z。 相对于只有一个等号的赋值操作符,关系操作符中的等于