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

关于左值和右值解决方法

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

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

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");} 

热点排行