C语言将两个字符串连成一串

img

img

img

16-19行写的不对

void mergestr(char str1[],char str2[],char str3[])
{
    int i,j=0;
    for(i=0;str1[i] != 0;i++)
        str3[i] = str1[i];
    for(j=0;str2[j] != 0;j++)
        str3[i++] = str2[j];
    str3[i] = 0;
}


字符串拼接直接调用strcat
#include<string.h>

strcat(str1,str2);//拼接字符串str1和str2

void mergeStr(char str1[], char str2[], char str3[])
{
strcpy(str3, str1);
strcat(str3, str2);
}

int main()
{
char str1[] = "hello";
char str2[] = "china";
char str3[40];
mergeStr(str1, str2, str3);
printf("merge str3:%s\n", str3);
return 0;
}

#include <stdio.h>

int main()
{
   char str1[120],str2[120];    //char数组大小最大为120
   int i=0,j=0;
   printf("请输入第一个字符串:");
   scanf("%s",str1);            //因要给整个数组输入字符,不需要带&地址符,带&特指某一位
   printf("\n请输入第二个字符串:");
   scanf("%s",str2);
   while(str1[i]!='\0')            //检验数组位是否为空
      i++;                        //不为空时,i+1
   while(str2[j]!='\0')            //检验数组位是否为空
      {
         str1[i]=str2[j];        //将第二个字符数组添加到第一个字符数组后面
         i++;
         j++;
      }
  str1[i]='\0';
  printf("\n两个字符串连接后:%s \n",str1);
} 

img


有帮助的话请采纳一下哦!谢谢!🙈🙈🙈

第一种方式 定义头文件 利用strcat 去连成一个字符串
第二种方式 就是先定义两个数组 存两个字符串 再来一个数组 用来之后存取和连接 通过for循环的形式 先把第一个字符串 逐个字符存进去,再将第二个逐个字符存进去,就连接好了

望采纳!!