解题思路:





注意事项:





参考代码:

错误代码

#include<stdio.h>
#include<string.h>
char* mystrcat(char* a,char* b)
{
 while(*a !='\0')
 {
 
  a++;
  
 }
 while(*b != '\0')
 {
  a++;//原先指针已经到'\0'处,多加了一,形如***'\0'*****。
  *a=*b;
 
  b++;
 }
 a++;
 *a='\0';
}
int main()
{
    char a[1024];
    char b[1024];
    char* p1;
    char* p2;
    p1=a;
    p2=b;
    gets(a);
    gets(b);
    //*p1=mystrcat(p1,p2);
    //printf("\n"); 
    printf("%c",mystrcat(p1,p2));
    while(*p1 !='\0')
 {
  //printf("%c",*p1);
  p1++;
  
 }
    return 0;
}

修改后

#include<stdio.h>
void mystrcat(char* a,char* b);
int main()
{
    char a[1024];
    char b[1024];
    gets(a);
    gets(b);
 mystrcat(a,b);
  printf("%s",a);
    return 0;
}
void mystrcat(char* a,char* b)
{
 while(*a !='\0')
  {
   a++;
 }
 while(*b != '\0')
  { 
    *a=*b;
    a++;
    b++;
  }
  *a='\0';
}

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区