#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
int main()
{
char a[10], b[10],c[20];
int j;
scanf("%s%s", &a,&b); //输入a,b的值
int sz1 = strlen(a);
int sz2 = strlen(b);
for (j = 0; j < sz1; j++)
{
c[j] = a[j];
}
for (j = 0; j < sz2; j++)
{
c[sz1 + j] = b[j];
}
printf("%s", c);
return 0;
}
要先把数组 c 清空,%s格式输出要碰到 '\0' 才结束的。
还有,a和b就是数组地址,scanf里面不需要取地址 &
#include <stdio.h>
int main()
{
char a[10], b[10],c[20]={0};
int j;
scanf("%s%s", a,b); //输入a,b的值
int sz1 = strlen(a);
int sz2 = strlen(b);
for (j = 0; j < sz1; j++)
{
c[j] = a[j];
}
for (j = 0; j < sz2; j++)
{
c[sz1 + j] = b[j];
}
printf("%s", c);
return 0;
}
c初始化时要清零下,其他的没啥了
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
int main()
{
char a[10], b[10],c[20]={0};
int j;
scanf("%s%s", &a,&b); //输入a,b的值
int sz1 = strlen(a);
int sz2 = strlen(b);
for (j = 0; j < sz1; j++)
{
c[j] = a[j];
}
for (j = 0; j < sz2; j++)
{
c[sz1 + j] = b[j];
}
printf("%s", c);
return 0;
}
你可以试试直接打印一个没有赋值的数组,比如说:
char c[20];
printf("%s", c);
你需要加个空格
scanf("%s %s", &a,&b);