所长 strcat 的函数原型是char *mme(char *s1 ,char *s2) 写的(名字不一样)。 使用void mme(char *s, char *s1 ,char *s2).是没有问题的 strcat的问题是 定义 char *s1,程序出错,编译没有错。如果定义成 char s1[],就没有错。不管这个 还包括strcpy ..都是一样的。 使用操作系统库函数一样出错,更何况自己写了... 如: char *p1 = "1234"; char *p2 = "5678"; strcat(p1,p2); 出错!!编译没有任何问题 char p1[] = "1234"; char *p2 = "5678"; strcat(p1,p2); 正确
所长能否解释一样原因,小弟实在是搞不明白,更在想以后用malloc申请的指针p1,还能传入strcat的参数1吗?是不是只能用自己写的void mme(char *s, char *s1 ,char *s2).这样的函数? |