%s接收字符串,%c接收单个字符,而且,for循环中接收50个字符就把字符长度限定死了。
代码修改如下
#include <stdio.h>
int main()
{
int i,j;
char s1[50],s2[50];
scanf("%s",s1); //读取字符串1
scanf("%s",s2); //读取字符串1
for (i=0;s1[i]!='\0';i++)
;
for(j=0;s2[j] != '\0';j++)
{
s1[i] = s2[j];
i++;
}
s1[i] = 0;
printf("%s",s1);
return 0;
}
输入都是错的啊
前两个for循环去掉,改成 gets(s1);gets(s2);就完成字符串输入了
最后一个for循环,j<50是错误的
printf也是错误的
#include <stdio.h>
int main()
{
int i=0,j=0;
char s1[50]={0},s2[50]={0};
gets(s1);
gets(s2);
for(i=0;s1[i] !='\0';i++);
while(s2[j] != '\0')
s1[i++] = s2[j++];
puts(s1);
return 0;
}
s1[i]改为s1
printf("%s\n",s1);
#include <stdio.h>
#include<string.h>
int main()
{
int i, j;
char s1[50], s2[50];
scanf("%s", s1); //读取字符串1
scanf("%s", s2); //读取字符串1
strcat(s1, s2);
printf("%s",s1);
return 0;
}