在线跪求!c语言编程实现两个字符串连接

发布网友

我来回答

4个回答

热心网友

思路:先找到第一个字符串的结束位置,接着把第二个字符串的所有字符复制到第一字符串后面,最后加上字符串结束标志'\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");

}

热心网友

#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;
}

热心网友

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 }

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com