标题:函数声明问题
取消只看楼主
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
结帖率:100%
 问题点数:0 回复次数:3 
函数声明问题
程序代码:
#include<iostream>
using namespace std;

void swap(int &a,int &b);

main()
{
    
    int r = 5, t = 6;
    swap(r,t);
    cout<<"r:"<<r<<" t:"<<t<<endl;
}
void swap(int &a,int &b)
{
    int temp = a;
    a = b;
    b = temp;
}




程序代码:
#include<iostream>
using namespace std;

main()
{
    void swap(int &a,int &b);
    int r = 5, t = 6;
    swap(r,t);
    cout<<"r:"<<r<<" t:"<<t<<endl;
}
void swap(int &a,int &b)
{
    int temp = a;
    a = b;
    b = temp;
}


这两段代码的结果怎么不一样呢
搜索更多相关主题的帖子: 函数 声明 
2008-11-06 13:19
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
得分:0 
难道VC6.0真的那么差劲……
2008-11-06 17:11
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
得分:0 
[bo][un]rustleer[/un] 在 2008-11-6 17:47 的发言:[/bo]

我觉得和编译器关系不大,按引用传递和按值传递时的函数声明位置有点搞不懂,例如下面两个程序。
程序一:按值传递
#include
using namespace std;   
void swap(int x, int y);
int main()
{
   int x = 5, ...



如果与编译器没有关系为什么用其他编译器就会得出一样的结果呢!
2008-11-06 17:58
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
得分:0 
[bo][un]lockhawk[/un] 在 2008-11-6 18:47 的发言:[/bo]

我用的也是VC6。怎么我这里两个代码的结果是一样的?r=6,t=5

难道我的版本很低……
莫非发了补丁?
2008-11-06 18:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-242721-1-1.html




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

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