c语言函数交换两个字符串 c语言用指针交换两个字符串的值

C语言调用函数互换两个字符串的值

把free(temp)注释就好了,str2指向temp内存,释放掉了,printf处自然报错,或者temp不申请内存,去掉free(temp)

我们提供的服务有:成都网站制作、成都网站设计、微信公众号开发、网站优化、网站认证、剑河ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的剑河网站制作公司

求用C语言交换两个字符串 谢谢

先包含头文件“string.h”

然后直接调用库函数strcpy

具体操作:

交换str1和str2

先定义中间变量str3

strcpy(str3,str1);

strcpy(str1,str2);

strcpy(str2,str3);

c语言怎么把两个字符串交换位置

利用strcpy()函数。

char a[10] = "abed", b[10] = "efg", t[10];

strcpy(t, a);//a复制给t

strcpy(a, b);//b复制给a

strcpy(b, t);//t复制给b

函数功能是字符串复制,将第一个参数指定的字符串复制到第二个参数指定的位置

两个参数都是字符串首地址。

使用strcpy需要 #includestring.h

C语言中怎样交换两个字符串

不同的情况做法是不同的。

1. 如果是字符数组,char a[50]="String A"; char b[50]="String B";  则

#includestdio.h

void strexchg(char *a, char *b){

char c;

while(*a  *b){

c= *a; *a = *b; *b = c;

a++; b++;

}

c= *a; *a = *b; *b = c;

if(*a)

do *++a = *++b; while(*b);

else if(*b)

do *++b = *++a; while(*a);

}

int main(){

char a[50]="String A"; char b[50]="String B";

printf("Before Exchange :\n\tString A is \"%s\"\n\tString B is \"%s\"\n",a,b);

strexchg(a,b);

printf("After Exchange :\n\tString A is \"%s\"\n\tString B is \"%s\"\n",a,b);

return 0;

}

2 如果两个都是字符指针变量,char *a="String A"; char *b="String B"; 则

#includestdio.h

void strexchg(char **a, char **b){

char *c;

c=*a; 

*a=*b;

*b=c;

}

int main(){

char *a="String A"; char *b="String B"; 

printf("Before Exchange :\n\tString A is \"%s\"\n\tString B is \"%s\"\n",a,b);

strexchg(a,b);

printf("After Exchange :\n\tString A is \"%s\"\n\tString B is \"%s\"\n",a,b);

return 0;

}

C语言,定义函数交换字符串数组?

C语言中交换两个字符串需要借助strcpy函数或者使用自定义交换函数进行交换

如交换a,b数组中的字符串代码:

char a[10] = "abed", b[10] = "efg", t[10];strcpy(t, a);//a复制给tstrcpy(a, b);//b复制给astrcpy(b, t);//t复制给b

附:strcpy函数详情

原型声明:

char *strcpy(char* dest, const char *src);

头文件:

#include string.h 和 #include stdio.h

功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。

c语言编程,使用指针做为函数参数,编写一个字符串交换函数,实现两个字符串内容的交换 急求,多谢!

#include stdio.h

void swap(char *a, char *b){

int ch;

while(*a  *b)

ch=*a,*a=*b,*b=ch,a++,b++;

if(*a){

*b++=*a,*a++='\0';

while(*b++=*a++);

}

else if(*b){

*a++=*b,*b++='\0';

while(*a++=*b++);

}

}


当前标题:c语言函数交换两个字符串 c语言用指针交换两个字符串的值
标题来源:http://ybzwz.com/article/dodeoji.html