c语言 strcat语句 gets_s

#include
#include
int main()
{
char c1[20], c2[20];
gets_s(c1);
gets_s(c2);
printf("%s", strcat(c1, c2));
}![图片说明](https://img-ask.csdn.net/upload/201512/16/1450272006_185622.png)图片说明
请问是哪里出错了,而且明显两个字符连接后是没有空格留在中间的,请问一下应该如何改才能让两个字符串中连接后能有空格留在中间,我是菜鸟,希望大神多多指教

 int main()
{
    char c1[50], c2[20];//c1长度改大一些
    gets_s(c1);
    gets_s(c2);
    strcat(c1, " ");//先粘一个空格
    printf("%s", strcat(c1, c2));
}