c语言编程将两个字符串连接起来

2024-11-13 04:00:56
推荐回答(3个)
回答1:

// void fun(char p1[], char p2[]) 的最后一改备行凯歼芹
p2[j]='\0';
// 改盯毕为:
p1[n]='\0';

 

#include 
void fun(char p1[], char p2[])
{
int i=0,j=0,n=0;
while(p1[i]!=0)
{
i++;
n++;
}
while(p2[j]!=0)
{
p1[n]=p2[j];
n++;
j++;
}
p1[n]='\0';
}
main()
{char s1[80], s2[40] ;void NONO ();
     printf("Enter s1 and s2:\n");
     scanf("%s%s", s1, s2);
     printf("s1=%s\n", s1);
     printf("s2=%s\n", s2);
     printf("Invoke fun(s1,s2):\n");
     fun(s1, s2);
     printf("After invoking:\n");
     printf("%s\n", s1);
     //NONO();
}

回答2:

void fun(char p1[], char p2[])函数倒册核数第二行错误
将p2[j]='\0';改为p2[i+j]='\0';

推荐我写的一种将两个字符串连接在一起的函数
#include
void fun(char *p1, char *p2)
{
assert(p1 != NULL); //州慧掘断言p1不为空
assert(p2 != NULL); //断言p2不为空
while(*p1 != NULL)
p1++;
while((*p1++ = *p2++) != NULL)
;
}
希望对你碧则有所帮助!

回答3:

将while(p1[i]!=0)改为while(p1[i]!=’\0‘)
将while(p2[j]!=0)改为while(p2[j]!='族正\余旅0'竖穗凳)