
在线跪求!c语言编程实现两个字符串连接
怎么用字符指针实现两个字符串的连接··比如说一个是love一个是you我要用一个字符串把这两个连接起来··思路是有FOR循环遍历连接的时候e里面存放的是y的地址··越简单...
怎么用字符指针实现两个字符串的连接··比如说一个是love一个是you 我要用一个字符串把这两个连接起来··思路是有FOR循环遍历 连接的时候e里面存放的是y的地址··越简单好理解·越好··谢谢··很急4着要答案··明天急用··好心的大师脚下留步···
展开
4个回答
2015-12-19 · 知道合伙人教育行家
关注

展开全部
思路:先找到第一个字符串的结束位置,接着把第二个字符串的所有字符复制到第一字符串后面,最后加上字符串结束标志'\0'。
参考代码:
#include "stdio.h"
void *fun(char *s1,char *s2){
int i=0,j=0;
while(s1[i++]);
i--;
while(s2[j])
s1[i++]=s2[j++];
s1[i]='\0';
}
int main() {
char a[200],b[100];
gets(a);
gets(b);
fun(a,b);
puts(a);
return 0;
}
/*
运行结果:
qwerewr
asdfghj
qwerewrasdfghj
*/
展开全部
最简单的就是在输出在屏幕上的时候实现连接
以下程序为保证正确亲自上机用VC6.0运行过,很正确。
结果,屏幕显示:loveyou
#include<stdio.h>
void main()
{
int i,j;
char* s1 = "love" ;
char* s2 = "you" ;
for(i=0;i<4;i++)
printf( "%c" , *(s1+i) );
for(j=0; j<3; j++)
printf( "%c" , *(s2+j) );
printf ("\n");
}
以下程序为保证正确亲自上机用VC6.0运行过,很正确。
结果,屏幕显示:loveyou
#include<stdio.h>
void main()
{
int i,j;
char* s1 = "love" ;
char* s2 = "you" ;
for(i=0;i<4;i++)
printf( "%c" , *(s1+i) );
for(j=0; j<3; j++)
printf( "%c" , *(s2+j) );
printf ("\n");
}
本回答被提问者采纳

你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
char str1[100]="love",str2[100]="you"; //把str2 连接到 str1 里面哈
char *p1=str1, *p2=str2;
while(*p1 != '\0') p1++;
while(*p2 != '\0')
{
*p1 = *p2;
p1++;
p2++;
}
*p1 = '\0';
puts(str1);
// 第二个while 可以写成:
// while((*p1++ = *p2++) != '\0');
// 后面的 *p1 = '\0'; 也就不需要了
// 能理解上面的就好 下面的好好理解下
return 0;
}
int main()
{
char str1[100]="love",str2[100]="you"; //把str2 连接到 str1 里面哈
char *p1=str1, *p2=str2;
while(*p1 != '\0') p1++;
while(*p2 != '\0')
{
*p1 = *p2;
p1++;
p2++;
}
*p1 = '\0';
puts(str1);
// 第二个while 可以写成:
// while((*p1++ = *p2++) != '\0');
// 后面的 *p1 = '\0'; 也就不需要了
// 能理解上面的就好 下面的好好理解下
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
37 #include <sys/libkern.h>
38
39 char *
40 strcat(char * __restrict s, const char * __restrict append)
41 {
42 char *save = s;
43
44 for (; *s; ++s);
45 while ((*s++ = *append++) != 0);
46 return(save);
47 }
38
39 char *
40 strcat(char * __restrict s, const char * __restrict append)
41 {
42 char *save = s;
43
44 for (; *s; ++s);
45 while ((*s++ = *append++) != 0);
46 return(save);
47 }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询