初学C语言,不难发现,许多基本例题都会用到“i++”、“++i”等简写,稍有不慎,就很容易弄混,下面就让我们来细致分析下,这些简写究竟代表什么,和如何区别开来。
1.“++”和“- -”
举个例子,int i=10;int j;
那么j=++i; j=- -i;j=i++;j=i- -中,j和i的值分别为多少?
j=++i,可以看成两步:
1.i=i+1=10+1=11;
2.j=i=11;
同理j=- -i也可以看成两步:
1.i=i-1=10-1=9;
2.j=i=9;
j=i++,可以看成两步:
1.j=i=10;
2.i=i+1=11;
同理j=i- -,可以看成两步:
1.j=i=10;
2.i=i-1=9;
分了步骤以后,就清晰很多了。可从一开始熟记到后面得心应手,总得有个过程。于是我自己总结了一个小技巧,来便于记忆这四个式子。
**首先,看等号后面是否为字符。若是的话,则先进行左边字符的取值运算,即j=i;
如果不是的话,就将左边字符的取值运算放在最后一步。**
接下来,我们把++i; – -i;i++;i- -这些式子单独拿出来看,这些运算与j无关,单纯是i的基本运算。
++i;i++是i=i+1。- -i;i- -则是i=i-1。
最后,看回第一步,如果是先进行左边字符的取值运算,则第二步就是i的加减1运算;
如果是左边字符的取值运算在最后一步的话,则第一步就先进行i的加减1运算。
再让我们看回当初的四个式子,现在,是不是感觉更清晰了呢?
类似的缩略写法还有“+=”、“-=”等等,这类倒也不难记清:
例如int a;
a+=5即是a=a+5
a-=5即是a=a-5
a*=5即是a=a*5
a/=5即是a=a/5
a%=5即是a=a%5
以上内容比较简单基础,但却十分重要;也衷心希望大家阅读完后,能够有所进步。
本人初学菜鸟一枚,各位大佬们若是发现有问题了也请指出,好早日更正。