C语言编程中的++i和i++有什么区别?该怎么记牢?谢了

如题所述

总的来说:i++与++i最重要的区别在于:i++先使用后自增如:int i=0,s=0;s=s+i++;printf("s=%d,i=%d",s,i);这时s的值为0(因为先使用i的值来进行相加,而i和s的初值都为0所以相加的结果还是为0,而i的值会变为1);而++i则不同,++i是先自增后使用如:int i=0,s=0;s=s+(++i);/*为了使你更好的理解我给++i加了个括号,不加也是可以的*/printf("s=%d,i=%d",s,i);输出的结果都为1;在进行计算时i自己先加1后再与s相加;所以两个值都为1;
希望以上的回答对你有所帮助...88
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-07-27
++i在用时是i先自增1,再用这时的i值去参与计算;
i++是用增1前的i去参与计算,参与计算后i再增1;
例子:int i=0;
i++;
printf("%d",i);//这时打出的值为0;
printf("%d",i);//这时打出的值为1,因为i在上个语句中被用过了,本身的值增1
**********
int i=0;
++i;
printf("%d",i);//这时打出的值为1;本回答被网友采纳
第2个回答  2013-10-27
如果只是单个的i++,或者++i成为一条语句,则这两个没有区别
如果是赋值a=++i,a=i++
前者为先加后赋值,后者为先赋值在自加,假设i=0,那么第一个就为1,第二个就为0,但在执行完这两条语句后i的值都是1
分解a=++i;
i++;
a = i;
分解a=i++;
a = i;
i++;
第3个回答  2013-10-27
如果这时候有个整数temp分别等于i++和++i,如下解释:
i++;意味着int temp = i; i = i +1;
++i;意味着i = i+1; int temp = i;
分别执行:
(1):
int i=0;
int a = i++;
(2):
int i=0;
int a= ++i;

你会发觉两次的a的值是不一样的,这就是区别。
第4个回答  2021-01-20
i前先自增,i后先使用

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网