问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问c语言中++a和a++的区别是什么, 不用告诉我是先加后用和先用后加...

发布网友 发布时间:2024-04-08 01:18

我来回答

3个回答

热心网友 时间:2024-04-08 22:58

/*
这个例子主要是考虑到a++和++a的存储问题;
我们知道,对于a++是先将a给表达式再++;
那么这就是需要一个tmp空间来保存++之前
的a!!!但是对于++a是不需要的,因为先
执行++,那么就是直接改a空间内容就好了!
那么我们下面的问题就是这样!
*/
#include <stdio.h>
int main()
{
int a = 4;
/*
解释:下面的答案在Linux和VC下测试是9;
如果这样的形式不好看,那么写成这样就
可以了:a = a + ( a++ );
那么由于a++是先把数放到tmp空间再++;
所以,执行顺序:把后面a放进tmp空间,然后
a的存储空间数++,那么现在a中是5,tmp中是4
最后a = a + tmp;所以最终结果==9
*/
a += ( a++ );
printf("a = %d\n\n", a);

/*
解释:这里和上面的区别就是++先后执行的
问题,执行顺序:先a++,那么此时的a中就是
5了,然后将这个结果也放进一个tmp空间,
最后在相加,那么结果就是:5 + 5 == 10
*/
a = 4;
a += ( ++a );
printf("a = %d\n\n", a);

/*
注意:下面的代码编译是通过不了的哦!为什么?
其实自最开始已经解释了!就是有没有tmp的问题!
注意a++是先把a给表达式,再++,那么对于左边
来说,其实给的存储空间是tmp而并不是a本身,对于
tmp来说是不可以被赋值的,只能是作为输入操作!!
所以。。。
*/
/*
a = 4;
(a++) += a;
printf("a = %d\n\n", a);
*/

/*
这个本质其实也是差不多的;
就是先有了++a放到a中了,那么相当于是a的初
始值是5,然后在执行:a += ( a++ );那么结果
就是11呗,呵呵~
*/
a = 4;
( ++a ) += ( a++ );
printf("a = %d\n\n", a);

return 0;
}

热心网友 时间:2024-04-08 23:02

++a和a++在单一语句中没有任何区别,是等效的:

++a;
a++;

效果上一致,都是a增加了1。


在复合语句中,就是先加后用和先用后加的区别:

int a;
a = 1;
int i = ++a; //i为2,因为a先变成了2再赋值
a = 1;
int j = a++; //j为1,因为a先赋值给了j,再变成了2

热心网友 时间:2024-04-08 23:04

举个列子
int a = 2;
int b;
第一种情况b = a++; 那么这个b是等于2的,而a最后等于3,也就是a的值2先赋给b,然后a再++等于3
第二种情况b = ++a; 那么 这个b等于3,a也是3,这个运算顺序就是,先++a,a=3了,然后b=a,b也是3
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 1991年发生的大事英文版 所有的木材里面,只有沉香才会沉水吗? 小零食吃多了吃不下饭怎么回复女生 女朋友说还有啥吃的怎么回复幽默的话 武安有哪些娱乐设施比较多的游乐场推荐? 武安有哪些适合晚上去逛的地方? 精锐教育问答:四大名著中红楼梦是中考必考书目吗? ...机械手臂报警,换刀时机械手臂不动? EX1120 ATC ALARM FOR ARM 60... 自动换刀没气了卡住了怎么办 bd版本是什么意思bd版本的解释 bd蓝光是什么意思 网监局是什么意思网监局简单介绍 网监局和网信办有什么关系 从洛阳吉利区往林州红旗渠怎么走 洛阳到安阳市林州中医院多远 洛阳到林县有多少公里 林州到洛阳高速 福建财茂工业技术学校什么时候放寒假 世界上有多少个萝卜刀 蔬菜有哪些营养创意的吃法? 做为一个基层生产管理者遇到最大的困难是什么,又是如何解决的_百度知 ... 我是鹤岗的外贸童装要到哪里进货便宜 从哈尔滨EMS到鹤岗市要需要走哪那些城市的邮局啊 100块钱的红肠从哈尔滨邮到鹤岗用申通或者圆通大概需要几天?邮费多少... 地下水位较高或土质较软等不便深度开挖的场地,宜选用( )地锚。 ...膝盖不肿胀,坐着躺着都不疼,想问一下怎么回事? 英语课文录音在哪里能听到? 从《水浒传》中可以知道有哪些人在家中就留容易招灾祸? 谁卖二手手机的?能低价买我不?还有就是要牌子的…谢谢各位了_百度知 ... 有二手电信手机吗?价格250以下 减肥餐食谱能够一个月瘦十斤的 荣县解放前有电话吗? 家里电闸总跳怎么回事 物业说是临时用电 电压不稳 说是把电闸后面的一根... 农业银行 保本理财 家里存了10万总感觉被骗了会不会用钱时候拿不... 农业银行存钱被骗 我妈当时去农业银行存死期,他们就给推荐了这种,并说这是另一种存款方 ... oppoa113的手机屏保适合的尺寸 以c开头以y结尾的科目类单词7个字母 跟女朋友就情人分手一年了,分手后我们也偶然联系也给她发红包买鞋子,这... 疏松组织中的卵圆形、圆形、椭圆形、核圆形、球形都有什么区别?_百度...