注册 登录
编程论坛 数据结构与算法

忘高手指点!

cs1737802929 发布于 2012-11-22 20:32, 368 次点击
#include<iostream>
using namespace std;
int main()
{
    void swap(int&,int&);
    int i=3,j=5;
    swap(i,j);
    cout<<"i="<<i<<" "<<"j="<<j<<endl;
    return 0;
}
void swap(int &a,int &b)
{
    int temp;
    temp=a;
    a=b;
    b=temp;   
}这个程序为什么不能实现i,j的交换?
5 回复
#2
yuccn2012-11-22 23:01
实现了吧,没有问题,后面的输出时 5 3
#3
lxq69668922012-11-24 16:16
swap(i,j)改成swap(&i,&j)
#4
whhguo2012-11-24 16:53
弱弱的问一句: cout<<"i="<<i<<" "<<"j="<<j<<endl;
是干嘛的?鄙人主攻java,也学过一点C,
肿么没见过这个?
#5
cl8758218042012-11-24 19:09
程序代码:
#include<iostream>
using namespace std;
int main()
    {
        int i=3,j=5;
        swap(i,j);
        cout<<"i="<<i<<" "<<"j="<<j<<endl;
        return 0;
    }
void swap(int &a,int &b)
    {
        int temp;
        temp=a;
        a=b;
        b=temp;  
    }
楼主:你用的事c++中引用的原理,能完成交换,但是你的程序代码多了点东西
#6
cl8758218042012-11-24 19:14
图片
1