76、编写strcpy 函数 已知strcpy 函数的原型是 char *strcpy(char *strDest, const char *strSrc);其中strDest是目的字符串, strSrc 是源字符串。 (1)不调用C++/C 的字符串库函数,请编写函数 strcpy 。 (2)strcpy 能把 strSrc 的内容复制到strDest,为什 么还要char * 类型的返回值? ?
#include <stdio.h>
#include <stdlib.h>
void Strcpy(char ** a,char *b)
{
char *c=*a;
while(1)
{
**a = *b;
printf("%c\n",**a);
(*a)++;
b++;
if(*b == 0)
{
break;
}
}
/* while(**b)
{
printf("%c",**b);
*b=*b+1;
// *b++;//不行,因为++的优先级更高因此要用(),例如:(*b)++
}*/
*a=c; //特别注意这里的*a的地址要指回原来的地址,不然主函数中得不到想要的结果
}
int main()
{
char *str="hello!";
char *p;
int x=strlen(str);
p=(char *)malloc(x);
Strcpy(&p,str);
printf("++++%s\n",p);
system("pause");
return 0;
}
?
|