方法一:自定义函数交换两个字符串的值
#include <stdio.h>
#include <string.h>
//交换两个字符串中的值 strcpy()也可以
/*自定义函数,字符串交换*/
void mstrcpy(char a[],char b[])
{
char c;//交换字符的中间变量
int i,lena,lenb,lenmax;//lena代表a字符串的长度,lenb代表b字符串的长度,lenmax代表两个字符串中最长的那个
lena=strlen(a);//用strlen()函数计算a,b字符串的长度
lenb=strlen(b);
if(lena>=lenb)
lenmax=lena;
else if(lena<lenb)
lenmax=lenb;
for(i=0;i<lenmax;i++)//每循环一次交换一个字符,直到两者全部交换完毕
{
c=a[i];
a[i]=b[i];
b[i]=c;
}
}
int main()
{
char a[20],b[20];//定义两个字符串
printf("请输入a字符串:");
gets(a);
printf("请输入b字符串:");
gets(b);
mstrcpy(a, b);//调用自定义函数交换两个字符串的元素
printf("交换后,a,b字符串分别为:\n");
puts(a);
puts(b);
return 0;
}
方法二:使用string.h库函数中的strcpy()函数交换两个字符串的值
char *strcpy(char *st1,char *str2) :把str1所指的字符串复制到str2
#include <stdio.h>
#include <string.h>
//交换两个字符串中的值 strcpy()也可以
int main()
{
char a[20],b[20],c[20];//定义三个字符串,c是中间变量
printf("请输入a字符串:");
gets(a);
printf("请输入b字符串:");
gets(b);
strcpy(c, b);//调用函数交换两个字符串的元素
strcpy(b, a);
strcpy(a, c);
printf("交换后,a,b字符串分别为:\n");
puts(a);
puts(b);
return 0;
}