a++返回的是原来的值,然后a再+1
++a是返回加之后的值
其实简单点理解就是:
a++ 是运算后在+1,
++a 是先+1在进行运算。
所以你在输出a++的时候,a还是10,输出后a变成11.
然后是++a,先加1,所以输出12,后面输出a也是12.
a++ 去银行存钱,你正在存的同时用手机看银行卡余额,因为是正在存,所以手机上看不到(存完看余额肯定是新的,没存完看肯定是旧的)
a 我没存钱,所有我手机上看余额是多少就是多少
++a 去银行存钱,存的时候不让你看余额,手机提示你账号正在资金操作,必须等你存完钱才能看到最新的余额
a++的值是a+1以前的值,
++a的值是a+1以后的值,
无论哪个,a自己的值都加了1了
int i=10;
int a=i++;//a=10,i=11
int b=++i;//b=12,i=12
i++ //后加加 原理 先自增 然后返回自增之前的值
++i //前加加 原理 先自增 然后返回自增之后的值
【以下回答由 GPT 生成】
在C语言中,a++
和++a
都是用来自增变量a
的操作符,但它们的运行方式和效果是有区别的。下面是这段程序的代码:
#include<stdio.h>
int main() {
int a;
a = 10;
printf("a++=%d\n", a++);
printf("a=%d\n", a);
printf("++a=%d\n", ++a);
printf("a=%d\n", a);
return 0;
}
根据代码,我们可以看到变量a
的初值是10
,然后分别执行了a++
和++a
的操作,且在每个操作后都输出了a
的值。
a++
和++a
的区别a++
的解释a++
是后缀自增操作符。它将使用变量的当前值,并在使用之后将变量的值加1。换句话说,它会先返回变量的值,然后再将其自增。
我们可以把这个操作拆分为以下两步:
a
的当前值a
的值加1++a
的解释++a
是前缀自增操作符。它将先将变量的值加1,然后再使用变量的新值。
我们可以把这个操作拆分为以下两步:
a
的值加1a
的新值根据代码中的输出语句,可以得到以下结果:
a++=10
a=11
++a=12
a=12
从程序的输出结果可以看出,a++
是先返回变量a
的值,然后再自增。所以,printf("a++=%d\n", a++);
语句说明由于a
的初值是10
,所以先输出a++=10
,然后再将a
的值加1,所以变量a
的值现在是11
。
printf("a=%d\n", a);
语句直接输出变量a
的值,此时变量a
的值是11
。
++a
是先自增变量a
,然后再返回自增后的值。所以,printf("++a=%d\n", ++a);
语句先将a
的值加1,得到12
,然后输出++a=12
。
最后的printf("a=%d\n", a);
语句输出变量a
的值,此时变量a
的值是12
。
所以,程序的输出结果是:
a++=10
a=11
++a=12
a=12
【相关推荐】