C语言中的自增、自减是怎么回事?请详细些。

如题所述

自增有两种i++和++i:
i++的意思是先把i值调出来参与运算,然后把i加1存储;
++i的意思是先把i的值加1然后参与运算;
自减也有两种i--和--i:
i--的意思是先把i值调出来参与运算,然后把i减1存储:
--i的意思是先把i的值减1然后参与运算;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-03-26
首先,不同的编译器有从左到右和从右到左的的区别,所以i++和++i不能一概而论。如;i=1;m=(++i)+(++i)+(++i);printf("%d",m); 这个式子在TC与VC中输出结果就不一样了.VC与TC结果分别为:10,12

这里针对(++,--)有一种比较直观解释(举例):
int a,b
a=b=0;
b=a++; //b=0; 可以理解为b=a, a+=1;
cout<<a<<endl; //a=1;
cout<<b<<endl; //b=0;

a=b=0;
b=++a; //b=0; 可以理解为a+=1,b=a;
cout<<a<<endl; //a=1;
cout<<b<<endl; //b=1;
同理,
i--,--i也一样道理.
第2个回答  2007-03-26
i++:先取出寄存器的值返回,然后把寄存器的值+1
i--:类似

++i:先把寄存器的值+1,然后取出寄存器的值返回
--i:类似

这是最经典的回答。
第3个回答  2007-03-26
一个初学者的理解:
++I,+号在I前,就是使用I前将I+1;
I++,+号在I后,就是使用I后将I+1.
不知道对不对,呵呵

相关了解……

你可能感兴趣的内容

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