C/C++培训
达内IT学院
400-996-5531
今天刚刚回顾到C语言的自加和自减这一部分,想起刚刚接触C语言的时候真的是分不清楚++i和i++的区别。说真的刚刚自学到这里时真有喵的撞墙的冲动,完全分不清楚。相信很多人都懂自加和自减的区别。复习到这里觉得还是有必要写一篇来纪念一下当初的苦涩回忆。
自我开始自学C语言自加和自减是我遇到的第一个想了很久才搞懂的表达式,或许是因为太笨的原因吧。
先简单的看下两个程序代码
int i=1,m;
m=++i;
printf("%d,%d",m,i);
int i=1,m;
m=i++;
printf("%d,%d",m,i);
如果你对于自加和自减不熟悉的话,完全有可能认为两个程序输出的m值是一样的,但实际情况下m的值是不同的。第一个程序代码中输出的m值是2而另一个输出的值是1。
最开始的时候我也一直在想++i和i++有他喵的什么区别啊。后来想清楚过后发觉区别还是蛮大的哈。
首先++i你完全可以这样来理解++i可以拆分成这样两个等式:
i+=1和m=i怎么来解释喃,观察力好的朋友会发现在这个等式(m=++i)这个等式中所有的
运算符都是单目运算符,也就是说我们不能按照自左至右的方式来计算,而应该
采用自右至左的方式来运算。所以++i应该这样来看+(+i)。同理自减也是一样的区分
相比这样来理解,你应该知道是怎么回事的吧。如果还没有理解请向下看。
举个例子。假如你在采苹果篮子里的苹果树就代表m的值,++i就相当于你采了一个但是没有立马放进去,而是等着采了第二个才放进篮子,所以篮子里的数是从2逐渐加1。与之不同的i++就可以这样理解你采了一个苹果就放进了篮子,所以篮子里的数是从1逐渐递增的。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved