社区
C语言
帖子详情
求一个字符串交换的函数,谢谢
zhanghengbo
2004-11-21 10:22:06
通过一个函数使两个字符串互换,谢谢
...全文
357
8
打赏
收藏
求一个字符串交换的函数,谢谢
通过一个函数使两个字符串互换,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kunpengzhi
2004-11-22
打赏
举报
回复
/*-----------------------------------*/
/* Just For Study */
/*-----------------------------------*/
#include <stdio.h>
#include <stdlib.h>
#define MAX_LINE 255
int exchange (char *, char *);
int main (void)
{
char str1[MAX_LINE] = "Hello";
char str2[MAX_LINE] = "World";
printf("%s %s\n", str1, str2);
exchange(str1, str2);
printf("%s %s\n", str1, str2);
}
int exchange (char *str1, char *str2)
{
char *p;
char *q;
char temp[MAX_LINE];
p = str1;
q = temp;
while(*q++ = *p++);
p = str2;
q = str1;
while(*q++ = *p++);
p = temp;
q = str2;
while(*q++ = *p++);
}
fcf128
2004-11-21
打赏
举报
回复
void func(char *str1, char *str2) // 可以改变指针吗?
// Swap(char *str1, char *str2) ;
边城狂人
2004-11-21
打赏
举报
回复
不好,还要考虑两个字符串不等长的情况,需要重新分配空间的。
如果用 STL 就简单了
void swap(string& s1, string& s2) {
string temp = s1;
s1 = s2;
s2 = temp;
}
rr12
2004-11-21
打赏
举报
回复
void func(char *str1, char *str2)
{
char tmp[512];
strcpy(tmp,str1);
strcpy(str1,str2);
strcpy(str2,tmp);
}
char string1[512];
char string2[512];
strcpy(string1,"hello");
strcpy(string2,"world");
printf("%s\n",string1);
printf("%s\n",string2);
func(string1,string2);
printf("%s\n",string1);
printf("%s\n",string2);
BlackEagle_
2004-11-21
打赏
举报
回复
void SwapString(char **s1, char **s2) {
char *temp;
temp = *s1;
*s1 = *s2;
*s2 = temp;
}
void main() {
char *str1 = "abc";
char *str2 = "uvwxyz";
SwapString(&str1, &str2);
printf("%s\n", str1);
printf("%s\n", str2);
}
========================
输出:
uvwxyz
abc
sharkhuang
2004-11-21
打赏
举报
回复
用string是工作交给了库
y8t47h
2004-11-21
打赏
举报
回复
建议使用类型string 替代C—string。
C—string的确是个坏孩子。
jp1984
2004-11-21
打赏
举报
回复
[james@Mathematcs james]$ cc -o test haha.c
[james@Mathematcs james]$ ./test
love lqp
[james@Mathematcs james]$ cat haha.c
#include <stdio.h>
char* exchange(char* s,char* t)
{
int i = 0,j = 0;
while(j <= strlen(s))
{
t[j] = s[i];
j++;
i++;
}
return t;
}
int main()
{
char* love = "love lqp";
char* jp = (char*) malloc(1);
jp = exchange(love,jp);
printf("%s\n",jp);
return 0;
}
字符串
交换
函数
C语言
那么在这种情况下,数组名str1,...
字符串
交换
函数
通常有两种写法,两种写法的区别在于
字符串
的存储位置以及字符指针指向哪里。我们的实参可以是数组名(也可以是指针),形参是字符指针,通过
字符串
拷贝
函数
来实现。
字符串
交换
函数
char s1[]="dddffff"; char s2[]="qweeeee"; 此种是可以的,将
字符串
内容赋值给s1,s2所指空间中,相当于副本,因而其内容是可以改变的。
C语言实现主
函数
中输入
一个
字符串
,调用字符
交换
函数
将其中的字符按从小到大的排序后输出;
采用指针变量作为形参,编写
一个
实现两个字符
交换
的
函数
,在主
函数
中输入
一个
字符串
,调用字符
交换
函数
将其中的字符按从小到大的排序后输出; #include<stdio.h> #include<string.h> #define N 100 int ...
字符串
--
字符串
处理
函数
、向
函数
传递
字符串
再如,
字符串
“Hello China”大于
字符串
“Hello”,即strcmp(“Hello China”,“Hello”)的
函数
值大于0,这是因为’\0’的ASCII码值为0,其是ASCII码表中ASCII码值最小的,所以若
一个
字符串
是另
一个
字符串
的子串...
C语言实现
字符串
替换
函数
#include #include #include #include //
字符串
替换
函数
/******************************************************************** ...* Description: 在
一个
字符串
中查找
一个
子串; * Input: ps: 源;
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章