首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于c++的自增运算符的有关问题

2012-09-09 
关于c++的自增运算符的问题#include iostreamusing namespace stdmain(){int n0for(int i0i10i++

关于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

探讨

引用:

单独的++n和n++效果一样
只有在像
a=n++,a=++n
这样的情况有区别
a=n++相当于a=n ,n=n+1
a=++n相当于n=n+1,a=n


那你看一下这两个

int count=3
while(count-- >0)
cout<<count;


int count=3
while(--count >0)
……

热点排行