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);
}
第一种方式 定义头文件 利用strcat 去连成一个字符串
第二种方式 就是先定义两个数组 存两个字符串 再来一个数组 用来之后存取和连接 通过for循环的形式 先把第一个字符串 逐个字符存进去,再将第二个逐个字符存进去,就连接好了
望采纳!!