【C++】(++a)和(a++)区别解读

来源:互联网 发布:汕头美工有人教招聘 编辑:程序博客网 时间:2024/05/16 18:03
  • 简介
  • code&result

1 简介

  1. ++a和a++,都是个表达式,最后的结果就取决于是先加,还是后加;
  2. 如果是先加,那么最后的表达式的结果就是a的值加1;
  3. 如果是后加的话,则表达式的值就是原来a的值;
  4. 无论是先加,还是后加,a的值计算后一定会加1;

2 Code

I.在表达式中  若 a = 1, b = a++ ==>> 运算完 b = 1, a = 2 【先赋值,后 + 1】  若 a = 1, b = ++a ==>> 运算完 b = 2, a = 2 【先 + 1,后赋值】    也可理解为:   a++ <<==>> a = a + 1,  【先赋值,后 + 1】   ++a <<==>> a = 1 + a,  【先 + 1,后赋值】II.单独的语句中二者都没有什么区别!ex: int a = 6,b = 6;    a++; ++b; //这里就是语句!    printf("%d %d",a,b);    输出都是2.III.if 条件语句    表达式 :if((a++)==1)     【先判断,后 + 1】                 if((++a)==1)     【先 + 1,后判断】


0 0