就只是i的初值错了而已导致第一个字符串的后面接的不是第二个字符串而是'\0',所以两个字符串压根就没连上
void cat(char x[30],char y[30],int n,int m){
int i,j;
// x[n+1]=' ';
for(
i=n,j=0;j<m;i++,j++){
/*我这里思路是想在第一字符串的后面直接通过有效长度的数值将第二个字符串加上去*/
x[i]=y[j];
/*但是结果一直是输出第一字符串,不知道是哪里有问题。个人感觉这个思路应该问题不大吧*/
}
x[i]='\0';
}