编写strcat函数出现了问题
这是最近看到的一道笔试题:
编写完整原型为char *strcat(char *strDest,const char *strSrc);函数。自己试着编写了一下,但是出现了解决不了的问题。
#include <stdio.h>
#include <malloc.h>
#include <string.h>
char *strcat1(char *strDest,const char *strSrc)
{
char *pchar = strDest;
while(*pchar != '\0')
pchar++;
while(*strSrc != '\0')
{
*pchar++ = *strSrc++;
}
*pchar = '\0';
return strDest;
}
char *strcat2(char *strDest,const char *strSrc)
{
char *pchar;
//char *pchar = (char*)malloc(30);
while(*strDest != '\0')
{
*pchar++ = *strDest++;
}
while(*strSrc != '\0')
{
*pchar++ = *strSrc++;
}
*pchar = '\0';
return strDest;
}
int main()
{
char a[30] = "hello";
char b[10] = "world!";
puts(strcat1(a,b));
puts(strcat2(a,b));
getchar();
return 0;
}