好运来的歌词:初级 C++ 程序求教

来源:百度文库 编辑:高校问答 时间:2024/05/04 14:52:19
void main()
{
char * ap="hello";
char * bq="how are you?";
}

创建1函数 调用传递引用参数 实现字符变量的交换 要求输出为
ap:"how are you?"
bq:"hello"

偶想了半天了 郁闷 无奈对指针概念懵懂 望赐教
1楼的方法可行 但是那样的话就已经和题目想违背了
题目写的是需要 “调用传递引用参数” 这才是我苦恼之处

你那么定义完全没有错误 不要被上面那位老哥 “骗了” 呵呵
指针就是指针 一般他本身占用4个字节 里面存的是他指向的地址
在多就不展开说了 这些东西你可以自己编些小程序来实践
完全按照你的要求 修改如下

void main()
{
char * ap="hello";
char * bq="how are you?";
char * Temp = NULL;
Temp = bq;
bq = ap;
ap = Temp;
printf("ap:\"%s\"\nbq:\"%s\"\n",ap,bq);
}
有事可以给我e-mail:gabmyd@126.com

楼主,你首先要明白开指针变量!=开储存空间,而你的"hello"等是需要储存空间的
指针的目的是指向某一储存空间.
你需要关键字new来开辟一片新的空间.
ap=new char[10]; //ap指向你新开的空间,
bq=new char[20];
strcpy(ap,"hello"); //把”hello”拷给ap所指的空间.
strcpy(bq,"how are you?");

变量之间的调换需要第三变量来缓存
#include<iostream.h>
void change(char* &a,char* &b)
{
char *nnew;
nnew=a;
a=b;
b=nnew;
}
main()
{
char * ap="hello";
char * bq="how are you?";
change(ap,bq);
cout<<ap<<endl<<bq;
}