
C语言中的自增、自减是怎么回事?请详细些。
4个回答
展开全部
自增有两种i++和++i:
i++的意思是先把i值调出来参与运算,然后把i加1存储;
++i的意思是先把i的值加1然后参与运算;
自减也有两种i--和--i:
i--的意思是先把i值调出来参与运算,然后把i减1存储:
--i的意思是先把i的值减1然后参与运算;
i++的意思是先把i值调出来参与运算,然后把i加1存储;
++i的意思是先把i的值加1然后参与运算;
自减也有两种i--和--i:
i--的意思是先把i值调出来参与运算,然后把i减1存储:
--i的意思是先把i的值减1然后参与运算;
展开全部
首先,不同的编译器有从左到右和从右到左的的区别,所以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也一样道理.
这里针对(++,--)有一种比较直观解释(举例):
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也一样道理.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i++:先取出寄存器的值返回,然后把寄存器的值+1
i--:类似
++i:先把寄存器的值+1,然后取出寄存器的值返回
--i:类似
这是最经典的回答。
i--:类似
++i:先把寄存器的值+1,然后取出寄存器的值返回
--i:类似
这是最经典的回答。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个初学者的理解:
++I,+号在I前,就是使用I前将I+1;
I++,+号在I后,就是使用I后将I+1.
不知道对不对,呵呵
++I,+号在I前,就是使用I前将I+1;
I++,+号在I后,就是使用I后将I+1.
不知道对不对,呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询