鱼C论坛

 找回密码
 立即注册
查看: 3572|回复: 8

c++一个简单的问题,一个交换两个值的函数,已凌乱,求解释???

[复制链接]
发表于 2013-7-13 20:57:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
        int x,y;
        cout<<"x的值是:";cin>>x;
        cout<<"y的值是:";cin>>y;
        swap(x,y);
        cout<<"按值传递版本:"<<endl;
        cout<<"x的值:"<<x<<endl<<"y的值:"<<y<<endl;
        
        return 0;
}

void swap(int x,int y){
        int temp;
        temp = x;
        x = y;
        y = temp;

}
编译器是vs2012,,,已凌乱,求解释???????????
结果是:
x的值是:12
y的值是:21
按值传递版本:
x的值:21y的值:12请按任意键继续. . .


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-13 21:20:28 | 显示全部楼层
标准模版库里有个函数模板名字叫swap,加上你前面用的using namespace std;再加上你自己写的函数没有作前向声明,所以根本不是在调用你写的函数,而是调用stl里面的 swap
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-14 08:44:54 | 显示全部楼层

哦--原来如此,我还以为灵异事件呢-
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-14 08:47:41 | 显示全部楼层
仰望天上的光 发表于 2013-7-13 21:20
标准模版库里有个函数模板名字叫swap,加上你前面用的using namespace std;再加上你自己写的函数没有作前向声 ...

哦--原来如此,我还以为灵异事件呢-
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-14 09:24:45 From FishC Mobile | 显示全部楼层
形参不能改变实参的值除了用指针
而且你main函数的形参也可以不定义了因为你没用上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-14 09:46:57 | 显示全部楼层
无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-14 18:13:37 | 显示全部楼层
void swap(int & x,int & y){
        int temp;
        temp = x;
        x = y;
        y = temp;

}
我想你是这个意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-14 20:16:44 | 显示全部楼层
好吧,什么都不说了,看图!!{:7_178:}
V89JQ7QE%$KB$]7CGQ$S759.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-16 16:38:11 | 显示全部楼层
★远处的灯火 发表于 2013-7-14 20:16
好吧,什么都不说了,看图!!

谢谢了,大哥。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 15:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表