为什么输入图中的 可以正确输出 但是我一随便输出就不了呢 帮我看下
#include<stdio.h>
#include<string.h>
int main()
{
char a[6] = { 0 }, b[6] = {0};
char res[12] = {0};
scanf("%s%s",&a,&b);
int lena = strlen(a);
int lenb = strlen(b);
int lenc = lena + lenb;
int n = lena;
if (lena>lenb)
{
n = lenb;
}
if (lena < lenb)
{
for (int i = 0; i < 2*n; i += 2)
{
int j = i / 2;
res[i] = b[j];
}
for (int i = 1; i < 2 * n; i += 2)
{
int j = i / 2;
res[i] = a[j];
}
for (int i = 2*n; i < lenc; i++)
{
int j = i-n;
res[i] = b[j];
}
res[lenc] = '\0';
}
else
{
for (int i = 0; i < 2 * n; i += 2)
{
int j = i / 2;
res[i] = a[j];
}
for (int i = 1; i < 2 * n; i += 2)
{
int j = i / 2;
res[i] = b[j];
}
for (int i = 2 * n; i < lenc; i++)
{
int j = i-n;
res[i] = a[j];
}
res[lenc] = '\0';
}
printf("%s",res);
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
char a[6];
char b[6];
scanf("%s", a);
scanf("%s", b);
const char *p;
const char *q;
if (strlen(a) > strlen(b))
{
p = a;
q = b;
}
else
{
p = b;
q = a;
}
while (*q)
printf("%c%c", *p++, *q++);
while (*p)
printf("%c", *p++);
printf("\n");
return 0;
}