69,371
社区成员
发帖
与我相关
我的任务
分享
int main(int argc, char *argv[])
{
char *p;
p = Strcat("454545","412312312312313225");
printf("%s",p);
return 0;
}
char *Strcat(char *str1, char *str2)
{
char *p,len1,len2;
unsigned char i;
len1 = strlen(str1);
len2 = strlen(str2);
//printf("%d %d\n",len1,len2); //为什么要加这句才能显示454545412312312312313225,否则无显示
p = (char *)(malloc(len1+len2)+1);
while(*str1 != '\0')
{
p[i++] = *str1++;
}
while(*str2 != '\0')
{
p[i++] = *str2++;
}
p[i] = '\0';
return p;
}
int main(int argc, char *argv[])
{
char *p;
p = Strcat("454545","412312312312313225");
printf("%s",p);
free(p); //放这这儿 ?
return 0;
}
int main(int argc, char *argv[])
{
char *p;
p = Strcat("454545","412312312312313225");
printf("%s",p);
return 0;
}
//最主要还是这句有问题
p = (char *)(malloc(len1+len2+2));//多分配点也无妨
int main(int argc, char *argv[])
{
char *p;
p = Strcat("454545","412312312312313225");
printf("%s",p);
free(p);
return 0;
}
char *Strcat(char *str1, char *str2)
{
char *p;
size_t len1,len2;
int i=0;
len1 = strlen(str1);
len2 = strlen(str2);
//printf("%d %d\n",len1,len2); //为什么要加这句才能显示454545412312312312313225,否则无显示
p = (char *)malloc(len1+len2+1);
while(*str1 != '\0')
{
p[i++] = *str1++;
}
while(*str2 != '\0')
{
p[i++] = *str2++;
}
p[i] = '\0';
return p;
}