实现两个字符串相接
#include <stdio.h>char *strcat1(char *s,const char *ct)
{
char**p=s;
while (**p)*p++;
*p--;
while(*ct) **p++=*ct++;
**p='\0';
*p=s;
printf("%s\n",*p);
}
int main ( )
{
char array1[]={"I am s student."};
char array2[]={"I love china."};
strcat1(array1,array2);
return 0;
}
请问一下,这个程序怎么错了
实现两个字符串相接
#include <stdio.h>
void strcat1(char * s,char * ct)
{
int i,j;
i = 0;
j = 0;
while(*(s+i)!='\0')
{
i++;
}
i--;
while(*(ct+j)!='\0')
{
*(s+i) = *(ct+j);
i++;
j++;
}
//*(s+i) = '\0';
for(j = 0;j<i;++j)
{
printf("%c",*(s+j));
}
printf("\n");
}
int main ( )
{
char array1[]={"I am a student."};
char array2[]={"I love china."};
strcat1(array1,array2);
return 0;
}
这个办法效果是有但肯定报错说遇到问题要关闭因为内存问题 简而言之就是使用未分配的内存
想要没有内存问题我只能用链表
可你是数组 如果是链表就简单了
页:
[1]