c语言中,增一运算,a++和++a的区别,为什么有的数a++了加1,有的不加1,有的++a却加了2

2025-04-14 14:50:31
推荐回答(3个)
回答(1):

a++这种形式是后置递增,++a这种形式是前置递增,,区别是,a++执行完操作后才加一,++a是自身先加一,然后执行相关操作,,举个例子:

int i=1,j,k;
j=1++;
k=++i;
cout<上边运行结果是:3 1 3,程序中i共自增了两次,所以是3,在j的赋值操作中,i先把值赋给j再自增,所以j是1,在k的赋值操作中,i先自增,这时i为3,然后把3赋给k,,
尽量使用++i,可以避免考虑执行操作时i的值,减少错误,,手打,望采纳,,

回答(2):

你说的两种情况都不可能。a++和++a在独立表达式中效果是一样的,最后都使a增1。而在表达式中,a++取a的值参与运算,++a取a+1的值参与运算。

回答(3):

int a = 0;
a++:a的值更新为1,但是(a++)这个整体的值是a加1之前的值0,它相当于一个临时变量

int a= 0;
++a:a的值更新为1,(++a)这个整体的就是a本身,所以也是1