在C语言中,i++与++i的区别,当i=5时,他们的变量值与表达式的值分别是多少

如题所述

你好

这是个变量自加的问题,i++和++i是有区别的。

当一段代码里出现
...i++;...
或...++i;...
时,他们其实没多大区别,只是++i的执行效率要高些,但对结果i的值都是一样的。

但如果代码里出现的是
...m=i++;...
或...m=++i;...
时,他们结果就不一样了,因为i++是先赋值再自加(可以理解为2句:m=i;++i;),而++i是先自加再赋值(可以理解为2句:++i;m=i)。也就是说如果i=5,那么执行之后,前者的m=5;而后者m=6.

这些你可以试一下再慢慢体会,希望对你有帮助。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-30
i++是先取i的值再自加1,++i是先自加1再取i的值
i=5;
printf("%d%d",i++,++i)
5,7
先输出i,i++之后i=6,然后++i,i先自加i=7,输出i
第2个回答  2010-01-30
i=5设a:j=i++与b:j=++i得a:j=6,i=5;b:j=i=6
第3个回答  2010-01-30
,假设j=i++,j=5,i=6;j=++i,i=j=6

相关了解……

你可能感兴趣的内容

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