新手,用TC2.0编程序实现将两个字符串连接起来,输出时有有关问题,求解

新手,用TC2.0编程序实现将两个字符串连接起来,输出时有问题,求解。
程序如下:
#include<stdio.h>
int main()
{char a[100],b[100],c[100];
 int i,j=0;
 gets(a);
 gets(b);
 for(i=0;b[j]!='\0';i++)
 { if(a[i]!='\0')   c[i]=a[i];
   else             {c[i]=b[j];j++;}
 }
 c[i]='\0';
 puts(c);
 return 0;
}
输出时出现一些奇怪的符号,怎么回事?该怎么修改?(截图如下:)
新手,用TC2.0编程序实现将两个字符串连接起来,输出时有有关问题,求解

------解决方案--------------------
int main()
{char a[100],b[100],c[100];
 int i=0,j=0;
 gets(a);
 gets(b);
while(a[i]!='\0')
{
c[j++]=a[i++];
}
i=0;
while(b[i]!='\0')
{
c[j++]=b[i++];
}
c[j]='\0';
 puts(c);
 return 0;
}