读书人

关于左值和右值解决方法

发布时间: 2012-04-07 17:31:51 作者: rapoo

关于左值和右值
今天在坛子上面看了个左值和右值的文章。有个程序不知道怎么得到的。。麻烦大家看下,指教下。

C/C++ code
#include <iostream>#include <cstdio> using namespace std;int &fun(int &a) {    a+=5;    return a;   }int main(void) {    int ii =5;    fun(ii)= 800;    printf("%d",fun(ii));    system("pause");}


这里的结果是805为啥啊?

我的IDE是DEV

[解决办法]
C/C++ code
#include <iostream>#include <cstdio> using namespace std;int &fun(int &a) {    a+=5;    return a;   }int main(void) {    int ii =5;    fun(ii)= 800;          //调用fun函数返回的是ii的引用,那么这条语句就是将ii赋值为800    printf("%d",fun(ii));  //调用fun函数,此时传入的ii是800,经过函数以后加5,输出的就是805    system("pause");} 

读书人网 >C++

热点推荐