www.fltk.net > 4. 编制程序,调用传递引用的参数,实现两个字符串变量的交换。请高手用C++帮忙

4. 编制程序,调用传递引用的参数,实现两个字符串变量的交换。请高手用C++帮忙

#include using namespace std; void swap(string &x,string &y); int main() { string str1,str2; cout>str1; cout>str2; swap(str1,str2); cout 然后cin>> 该成函数 gets()就行,不过一般作业题不要求这么高

类似a=1;b=2;交换值 char *pa="hello"; char *pb="how are you"; char *p; p=pa; pa=pb; pb=p;

第一个是函数声明 第二个是告诉编译器,main函数没有入参 第三个是函数的实现

void swap(char *s,char *c) //用指针传址实现交换 { int i,j,m; char t; for(i=0;s[i]!='\0';i++);// 你没告诉我能不能用strlen 函数 我就纯手编了 for(j=0;c[j]!='\0';i++);// 也可以用 i=strlen(s) ; j=strlen(c); m=i>j?i:j; for(i=0;i{ t=s[i]; s[i]=c[i]; c[i]=t; } } // 调用:

你不妨不验证一下,我写的这个是正确的 1 #include<iostream> 2 #include<string.h> 3 using namespace std; 4 int main(int argc,char **argv) 5 { 6 char str[10][10]; 7 char q[10]; 8 for(int i=0;i<10;i++) 9 { 10 cin>>str[i]; 11 } 12 strcpy(q,str[0]); 13 strcpy(

#include<stdio.h>#include<string.h>void swap(char string1[],char string2[]){char s[200]; strcpy(s,string1); strcpy(string1,string2); strcpy(string2,s);}int main(){ char string1[100]="Hor are you?"; char string2[100]="Fine,thank you."; 权puts(string

template <typename T>void swap(T &a, T &b){ T tmp = a; a = b; b = tmp;}

#include<iostream.h>void swap(char *p1,char *p2){char str;while((*p1!='\0')||(*p1!='\0')){str=*p1; *p1=*p2; *p2=str; p1++; p2++;}if(*p1!='\0'){p1++; *P1='\0';} if(*p2!='\0'){p2++; *P2='\0';} }void main(void){char s1[20],s2[20]; cout<<"请输入字符串1和2\n

int temp;temp=a;a=b;b=temp;注意temp是int型变量,而a、b是指向int型的指针,类型不同

函数传递的参数时,实际上传递的是实参的一份拷贝,指针也不例外,在子函数中对变量本身的改变,并不影响实参的指向.所以他们最后的指向没有改变,所以最后的结果没有改变可以在交换函数中借助strcpy函数对字符串进行交换.

相关搜索:

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com