注册 登录
编程论坛 C++教室

帮忙看下这题结果啊

printflove 发布于 2014-02-26 22:43, 357 次点击
#include<iostream>

inline int band(int x)
{
    return (x>5&&x<10)?x:0;
}

int main()
{
    using namespace std;
        int a=5;
        cout<<a<<endl;
        cout<<band(++a)<<endl;
        cout<<a<<endl;
    return 0;
}
结果输出是5 6 6.为什么不是5 7 7?不是进行了两次++操作?
3 回复
#2
fl89622014-02-27 00:58
两次++操作?哪来的两次? 难道楼主认为++是两个加号所以是加两次?
#3
w8517770252014-02-27 21:10
是5 6 6啊
#4
hms2014-03-01 17:01
++a是先执行自加,再执行你定义的函数,再得到你的函数返回值,整个过程只有一次加法,怎么会输出5,7,7
1