C语言中如何将两个字符串加在一起
3个回答
展开全部
可以用string.h里的strcat(char *str1,char * str2)方法;
如果要自己实现需要指针或者数组的知识(数组本质上也是在操作指针)
大致代码可以这么些:
#include<stdio.h>
#include<stdlib.h>
char * join(char *pre, char *suff); //拼接
int strlength(char * str); //计算长度
int main(int argc, char const *argv[])
{
char *str1="hello ";
char *str2="world!";
//char *str=join("我喜欢","C"); // 我喜欢C
char *join_str=join(str1,str2);
printf("%s\n",join_str);// hello world!
return 0;
}
char * join(char * pre,char * suff){
int pl=strlength(pre);
int sl=strlength(suff);
char * end=(char *)malloc(pl+sl);
int index=0;
while(pl-->0){
*(end+index)=*pre++;
++index;
}
while(sl-->0){
*(end+index)=*suff++;
index++;
}
return end;
}
int strlength(char *str){
int len=0;
while(*(str+len)!='\0') ++len;
return len;
}
如果要自己实现需要指针或者数组的知识(数组本质上也是在操作指针)
大致代码可以这么些:
#include<stdio.h>
#include<stdlib.h>
char * join(char *pre, char *suff); //拼接
int strlength(char * str); //计算长度
int main(int argc, char const *argv[])
{
char *str1="hello ";
char *str2="world!";
//char *str=join("我喜欢","C"); // 我喜欢C
char *join_str=join(str1,str2);
printf("%s\n",join_str);// hello world!
return 0;
}
char * join(char * pre,char * suff){
int pl=strlength(pre);
int sl=strlength(suff);
char * end=(char *)malloc(pl+sl);
int index=0;
while(pl-->0){
*(end+index)=*pre++;
++index;
}
while(sl-->0){
*(end+index)=*suff++;
index++;
}
return end;
}
int strlength(char *str){
int len=0;
while(*(str+len)!='\0') ++len;
return len;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
档位怎么用?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询