y++与++y的区别
简单来说,y++与++y在单独使用时,并没有太大区别,y最终都会加1,而与其他语句一起使用时,会有区别。
单独使用时:
#include<iostream>
using namespace std;
int main()
{
int y=1;
y++;
cout<<"第一次y的值:"<<y<<endl;
++y;
cout<<"第二次y的值:"<<y<<endl;
return 0;
}
结果:
第一次y的值:2
第二次y的值:3
由上面的例子可以看出,当二个运算符单独使用时,作用都是使y自身加1。
与其他运算符一起使用:
#include<iostream>
using namespace std;
int main()
{
int y=1;
int a=y++-1;
int x=1;
int b=++x-1;
cout<<a<<" "<<y<<" "<<b<<" "<<x<<endl;
return 0;
}
结果:
0 2 1 2
在计算a时,y(y=1)进行减1运算,a=0,y=2。这里要理解,y++与++y本质上都是使y加1,不过y++-1,调用的是未加1之前的y值,而++y-1,调用的是加1之后的y值。
在计算b时,x(x=2)进行减1运算,b=1,x=2。
y--与--y在循环语句中的使用区别
一般使用
y--与--y本质上都是使y减1,所以在单独使用和与其它运算符一起使用上,都与y++、++y的同理。
在循环语句中使用
1.直接使用y--
#include<iostream>
using namespace std;
int main()
{
int y=3;
while(y--)
{
cout<<y<<endl;
}
cout<<"最终y的值:"<<y<<endl;
return 0;
}
结果:
分析:这里主要做了两步,第一步判断y是否等于0(条件是否为假),然后y减1。
2.直接使用--y
#include<iostream>
using namespace std;
int main()
{
int y=3;
while(--y)
{
cout<<y<<endl;
}
cout<<"最终y的值:"<<y<<endl;
return 0;
}
结果:
分析:这里也是做了两步操作,第一步y减1,第二步判断y减1后的值是否为0(条件是否为假)。