关于c++的自增运算符的有关问题
关于c++的自增运算符的问题
#include <iostream>
using namespace std;
main()
{
int n=0;
for(int i=0;i<10;i++)
++n;//这个无论++在前面还是在后面都值都是10
cout<<n;
return 0;
}
++n 是在返回值之前加,n++是在之后加,可是为什么输出的结果都是一样的啊。不解。
------解决方案--------------------
第一个先判断是否>0,然后再 -1
第二个先-1 再判断是否大于0
但是无论等一个还是第二个 执行到 cout << count;时都已经是-1以后的值,这点先搞清楚
只是第一个当count=1时 1>0判断成立,之后-1变成0 最后可以打印出1
但是第二个当count=1时,先-1变成0 条件不成立,直接退出,最后打印不出1
#include <iostream>
using namespace std;
main()
{
int n=0;
for(int i=0;i<10;i++)
++n;//这个无论++在前面还是在后面都值都是10
cout<<n;
return 0;
}
++n 是在返回值之前加,n++是在之后加,可是为什么输出的结果都是一样的啊。不解。
------解决方案--------------------
第一个先判断是否>0,然后再 -1
第二个先-1 再判断是否大于0
但是无论等一个还是第二个 执行到 cout << count;时都已经是-1以后的值,这点先搞清楚
只是第一个当count=1时 1>0判断成立,之后-1变成0 最后可以打印出1
但是第二个当count=1时,先-1变成0 条件不成立,直接退出,最后打印不出1