| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 718 人关注过本帖
标题:关于一个简单的,x,y数值互换的问题,反回的值不正确,请给小弟指点一下
只看楼主 加入收藏
yikuaidao
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2009-11-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
关于一个简单的,x,y数值互换的问题,反回的值不正确,请给小弟指点一下
#include <iostream>
void show (int x ,int y)
{
        int z;
        z=x;
        x=y;
        y=z;
std::cout<<"x="<<x<<"y="<<y;
std::cout<<"\n";
}
void main()
{
        int x;
        int y;
        x=3;
        y=4;

        show(x,y);
        std::cout<<"x="<<x<<"y="<<y;
}

这样的运行结果还是x,y的值没有进行交换,但在函数内显示交换了,不知为什么在输出后的结果是没交换的。请指导一下,谢谢!!

搜索更多相关主题的帖子: 数值 
2009-11-19 14:23
guohuihuang
Rank: 1
来 自:湖北省
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-11-19
收藏
得分:0 
回复 楼主 yikuaidao
显示的值当然是没有变啊   
   你最后在主函数里输出的是x,y的值  虽然你调用了函数 但是没有返回值  
       所以输出的就是原来的值
2009-11-19 16:55
yikuaidao
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2009-11-19
收藏
得分:0 
谢谢,明白了,虽说是很弱智的问题,但也困扰了我半天。
2009-11-19 19:30
bccnbin2009
Rank: 7Rank: 7Rank: 7
来 自:浙江
等 级:黑侠
帖 子:86
专家分:602
注 册:2009-10-5
收藏
得分:20 
show(x,y)中的参数仅仅是形参,不会改变外部传进的数值的,你应该用“引用”

#include <iostream>
void show (int &x ,int &y)
{
    int z;
    z=x;
    x=y;
    y=z;
    std::cout<<"x="<<x<<"y="<<y;
    std::cout<<"\n";
}
void main()
{
    int x;
    int y;
    x=3;
    y=4;
   
    show(x,y);
    std::cout<<"x="<<x<<"y="<<y;
}

这样就OK了

滨封千里
2009-11-19 20:04
yikuaidao
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2009-11-19
收藏
得分:0 
感谢楼上的,原教程用的是swap,我还以为是自定义的函数,所以自己就照葫芦画瓢,后来才知道,swap是标准函数里的,晕啊!!!
2009-11-22 00:17
快速回复:关于一个简单的,x,y数值互换的问题,反回的值不正确,请给小弟指点一下 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037636 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved