`
iSmile
  • 浏览: 8058 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

a++和++a的区别

 
阅读更多
学到现在如果对这个问题还有疑问,说明基础不够扎实,但是没有办法,既然感到疑惑,解惑的最好的方式就是上级实验一下了。如下代码:

public class TestPlus {

public static void main(String args[]){
int a= 1;
System.out.println("*******a++******");
print(a);
print(a++);
System.out.println(a);
System.out.println("*******++b******");
int b = 1;
print(b);
print(++b);
System.out.println(b);

}
public static void print(int t){
System.out.println(""+t);
}
}
***************************************
运行后结果是:

*******a++******
1
1
2
*******++b******
1
2
2


运行结果可以看出,只要有++不管是在前或者在后面,肯定是执行了+1的操作,但是,当在引用a++的时候,还是这时候却是原来的值,而引用++a的操作中是a+1的值。这就是却别。
分享到:
评论

相关推荐

    详解a++和++a的区别

    以前我也是老搞不懂a++和++a的区别, 后来看了很多资料, 终于总结出来一条规律, 小白专用! 看完这个例子就懂了: 例1:$a = 8, 求 ++a + a++ – –a + a– + ++a得多少? 旧值: 8 9 10 9 8  ++a + a++ – –a...

    C语言菜鸟基础教程之a++与++a

    总的来说,理解 `a++` 和 `++a` 的区别是C语言编程的基础,特别是在处理循环、条件语句和复杂的表达式时。熟练掌握它们的用法可以避免逻辑错误,提高代码的可读性和效率。在编写代码时,根据需求选择合适的操作符,...

    前置++与后置++

    在C/C++中,有两种类型的自增运算符:前置++(++a)和后置++(a++)。这两种运算符的主要区别在于它们对变量的值的影响顺序。前置++会先将变量的值加1,然后返回新的值,而后置++会先返回变量的原值,然后将变量的值...

    趣谈C语言和JAVA中的++和--

    ### 趣谈C语言和JAVA中的++和-- #### 引言 在计算机编程语言的学习过程中,`++`(自增)和`--`(自减)运算符是非常基础且重要的概念之一。无论是在C语言还是Java语言中,这两种运算符都有着广泛的用途,并且能够...

    关于i++和++i以及左值,右值

    由于i++和++i在执行时机和返回值上的区别,它们在实际使用中也有所不同。特别是在赋值操作中,++i的返回值是变量自身,可以直接用于赋值。而i++的返回值是一个临时变量,这个临时变量并不是一个左值,所以不能对其...

    期末考试试卷模板.docx

    - 后缀递增`++a`和前缀递增`a++`的区别。 - **题目示例**: ```cpp int a = 1, b = 5, c; c = a + b; // 正确,c=6 c = ++a + b; // 正确,c=8 c = a++b; // 错误,++b不存在 c = a+++b; // 错误,+++不存在 ...

    嵌入式研发工程师面试试题(20180131183310).pdf

    15. a+++++b 的含义:在 C 中,a+++++b 的含义是将 a 自增 1 次,然后和 b 进行加法运算。 16. Bool 变量的 TRUE 和 FALSE 值的定义:在 C 中,Bool 变量的 TRUE 和 FALSE 值可以使用 enum 枚举类型来定义。 17. ...

    试析C语言中的自增自减运算符.pdf

    这里的`a++`是后缀形式,所以`a`先用于加法运算,值为0,然后才增加到1。因此`b`的值也是1。 除了优先级和执行顺序,自增和自减运算符还与运算符的结合性有关。在遇到连续的多个自增或自减运算符时,编译器如何解析...

    C语言中的自增自减运算符.pdf

    首先,自增自减运算符分为前缀形式(如 `++` 和 `--`)和后缀形式(如 `a++` 和 `a--`)。前缀运算符会先改变变量的值,然后返回新的值;而后缀运算符则是先返回变量的当前值,然后才改变变量的值。例如,如果有一个...

    计算机基础知识2.pdf

    2. 判断 ABCD 四个表达式是否正确, Correctness of expressions (A) a += (a++); (B) a += (++a); (C) (a++) += a; (D) (++a) += (a++); 由于 C 错误,左侧不是一个有效变量,不能赋值,需要改为 (++a) += a;。 3....

    华为C&C++笔试题(附答案)

    (A) `a += (a++)`:此表达式中,先执行a++,a的值变为5,然后进行a+=5,所以a最终值为9。 (B) `a += (++a)`:首先执行++a,a的值变为6,然后进行a+=6,所以a最终值为12。但这个表达式可以简化为a=a+a,所以结果...

    c++常见面试题,面试必须

    - (A) `a += (a++);` - (B) `a += (++a);` - ((C) `(a++) += a;` - (D) `(++a) += (a++);` **解析**: - **(A) a += (a++);** - `a++` 先返回当前值再自增,所以先返回 4,然后 a 自增为 5。 - `a += 4` 相当于 ...

    C语言 基础试题(C语言).pdf

    - **指针、数组与运算符优先级**:指针和数组在声明和使用上有显著区别,例如`int (*foo())[31]`声明`foo`是一个返回31个整数数组的函数,而`int (*foo[])()`声明`foo`是一个指针数组,每个元素是函数指针。...

    sizeof运算符的使用,自增和自减运算符的使用

    int result2 = (a++) + (b++); // 这里使用括号明确指定自增顺序,result2将是6 ``` 在2.cpp文件中,可能包含了使用`sizeof`、自增和自减运算符的示例代码,通过编译和运行这个程序,我们可以更直观地看到这些...

    华为C/C++类笔试/面试题

    `存在语法错误,因为等号左边的表达式`(a++)`不是一个有效的左值,无法进行赋值操作。正确的形式应该是`a++`或`++a`这样的形式。 - 最后,对于选项D,`(++a) += (a++);`中,首先`++a`会使a自增1变为5,然后将a的当前值(即...

    腾讯2013实习生校园招聘笔试题(附答案 ).pdf

    题目要求分析四个表达式 `(A) a+=(a++); (B) a+=(++a); (C) (a++)+=a; (D) (++a)+=(a++);` 在 `int a = 4;` 的初始条件下,判断这些表达式的正确性,并给出修改后的表达式以及每个表达式执行后 `a` 的值。 1. **...

    华为C++笔试题下载分享

    因此,`a`的初始值为4,所以`a += (a++)`相当于`a = a + a++`,最终`a`变为5。 - (B) `a += (++a)`:在这里,`++a`先执行,将`a`增加到5,然后`a +=`将`a`的值增加5,所以`a`变为10。 - (C) `(a++) += a;`:错误,...

    趋势科技招聘经典软件笔试题--C++

    - A: a += (a++) 结果为9,a的值为5。 - B: a += (++a) 结果为10,a的值为6。 - C: (a++) += a; 错误,左侧不是一个有效的左值。 - D: (++a) += (a++); 改为:(a++) += a; 结果为11,a的值为7。 2. sizeof的...

Global site tag (gtag.js) - Google Analytics