![]() |
|
首页│注册│帮助 | |||
相关问题
| • | 各位高手请进来看看 |
| • | [求助]从Borland Pascal 7.0到Delphi的移植出现了问题 |
| • | www.uneedj |
| • | 关于链接路径错误自动处理??? |
| • | 救命啊!!!就是大哥大哈 |
| • | 信息系统开发实例精粹(C#版) |
| • | 求助vb和fortran之间的多参数传递 |
| • | 求助ASP |
待解决
初学者,关系函数声明!
#include<iostream>using namespace std;
int main()
{ [color=Red]void swap(char *x ,char *y );[/color]
char *ap="how are you?";
char *bp="ok!";
void swap(char *x ,char *y );
cout<<"ap="<<ap<<endl;
cout<<"bp="<<bp<<endl;
swap(ap,bp);
cout<<"swap(ap,bp)"<<endl;
cout<<"ap="<<ap<<endl;
cout<<"bp="<<bp<<endl;
return 0;
}
void swap(char *x,char *y)
{ char *t;
t=x;x=y;y=t;
}
程序为交换两个字符串.
为什么我加了函数声明,却没有交换;
反而去掉函声明却正常.
我刚开始学C++,请高手指教! [tk13]
提问者:lvyan 2008-04-20 00:14:00
答复
[quote][bo]以下是引用 [un]kaithwin[/un] 在 2008-4-20 01:13 的发言:[/bo]
没有声明可以用是因为swap是c++内部的函数,不然你换一个名字试试
至于为什么不能交换是因为在子函数中只交换了实参的局部副本,不会改变实参 [/quote]
正解
没有声明可以用是因为swap是c++内部的函数,不然你换一个名字试试
至于为什么不能交换是因为在子函数中只交换了实参的局部副本,不会改变实参 [/quote]
正解
回答者:aipb2007 -
2008-04-21 22:50:00
#include<iostream>
using namespace std;
int main()
{
char *ap="how are you?";
char *bp="ok!";
cout<<"ap="<<ap<<endl;
cout<<"bp="<<bp<<endl;
swap(ap,bp);
cout<<"swap(ap,bp)"<<endl;
cout<<"ap="<<ap<<endl;
cout<<"bp="<<bp<<endl;
return 0;
}
void swap(char *x,char *y)
{ char *t;
t=x;x=y;y=t;
}
using namespace std;
int main()
{
char *ap="how are you?";
char *bp="ok!";
cout<<"ap="<<ap<<endl;
cout<<"bp="<<bp<<endl;
swap(ap,bp);
cout<<"swap(ap,bp)"<<endl;
cout<<"ap="<<ap<<endl;
cout<<"bp="<<bp<<endl;
return 0;
}
void swap(char *x,char *y)
{ char *t;
t=x;x=y;y=t;
}
回答者:无业烟民 -
2008-04-21 22:37:00
自己找书看吧
应该每本c++的书都有,很典型的例子
应该每本c++的书都有,很典型的例子
回答者:kaithwin -
2008-04-20 12:46:00
c++内部函数? 有哪些啊.?
用指针不能交换吗? 为什么引用可以交换而指针不行啊..?
希望哪位朋友能帮助一下我... 在此先谢了.
用指针不能交换吗? 为什么引用可以交换而指针不行啊..?
希望哪位朋友能帮助一下我... 在此先谢了.
回答者:lvyan -
2008-04-20 01:42:00
没有声明可以用是因为swap是c++内部的函数,不然你换一个名字试试
至于为什么不能交换是因为在子函数中只交换了实参的局部副本,不会改变实参
至于为什么不能交换是因为在子函数中只交换了实参的局部副本,不会改变实参
回答者:kaithwin -
2008-04-20 01:13:00

