| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1774 人关注过本帖
标题:这个类似swap()函数功能 请教大伙意见
只看楼主 加入收藏
tedted
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-9-6
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
这个类似swap()函数功能 请教大伙意见
#include <iostream>

using namespace std;

void change(int a, int b)  
{
    int  k,kk,temp;

    k = a, kk = b;
    temp = k;
    k = kk;
    kk = temp;

    a = k, b = kk;
}

int main(void)
{
    int x = 44;
    int y = 55;

    change(x,y)
    cout << "x=" << x << endl;
    cout << "y=" << y << endl;

    return 0;
}



搜索更多相关主题的帖子: include change 
2016-09-20 14:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:20 
什么“意见”,不知所云
2016-09-20 14:34
tedted
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-9-6
收藏
得分:0 
@rjsp没有,就是请教  请教指正
对不起 不过发现还是错了 以上代码没能起到交换实参作用 是不是要交换两个的地址才行
还是太菜 见笑  估计大伙看到会笑而不语。。。...
得版主亲自点拨
2016-09-20 15:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
C++ 中标准 std::swap 函数如下
程序代码:
template<class T> inline void swap( T& lhs, T& rhs )
{
    if( &lhs != &rhs )
    {
        T t = std::move( lhs );
        lhs = std::move( rhs );
        lhs = std::move( t );
    }
}
当然,实际上会比这个更复杂

如果是C语言,大体如下
程序代码:
#include <stdio.h>

void change( int* a, int* b )
{
    int t = *a;
    *a = *b;
    *b = t;
}

int main( void )
{
    int x = 44;
    int y = 55;

    printf( "x=%d, y=%d\n", x, y );
    change( &x, &y );
    printf( "x=%d, y=%d\n", x, y );

    return 0;
}

2016-09-20 15:32
快速回复:这个类似swap()函数功能 请教大伙意见
数据加载中...
 
   



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

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