关于一个C语言程序的有关问题,恳求高手帮忙 急 多谢

关于一个C语言程序的问题,恳求高手帮忙 急 谢谢
#include <stdio.h>
#include <stdlib.h>
char *strcat(int,char *,char *[]);

int main(int argc, char *argv[])
{
    int i;
    char *aPtr,*bPtr[50];
    char a[70]="Welcome to you ";
    for(i=1;i<argc;i++)
    {
        bPtr[i-1]=argv[i];
    }
    for(i=0;i<2;i++)
    {
        printf("%s\t",bPtr[i]);
    }
    aPtr=strcat(argc,a,bPtr);
    printf("%s\n",aPtr);
    return 0;
}

char *strcat(int gc,char *s1,char *s2[])
{
    int j;
    char *p=s1,*u;
    while(*s1)
    {
        s1++;
    }
    for(j=0;j<gc-1;j++)
    {
        u=s2[j];
        for(;(*s1=*u);s1++,u++);

    }

    return p;
}


这个程序有个warning:conflicting types for built-in function 'strcat'; 怎么解决;
而且在cmd里我输入两个字符串,输出的时候两个字符串连在一起,没有空格空开,怎么办?
------解决方案--------------------
C语言带有strcat函数, 你百度一下strcat看看用法
------解决方案--------------------
從你的代碼看,你是要讀取所有cmdline的參數吧,

這個是用的c++的string類
string cmdarg = "";
for (int i=1; i<argc; i++) { 
cmdarg += argv[i]; // 這裡將參數加到cmdarg中
cmdarg += " "; //用一個空格將參數隔開
}

------解决方案--------------------
char *aPtr,  *bPtr[50];