#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { char *p1="name"; char *p2; p2 = (char*)malloc(20); memset (p2, 0, 20); while(*p2++ = *p1++); printf("%s\n", p2); return 0; } |
原帖由 lovebible 于 2007-9-1 21:43 发表
K&R C中写的一个strcpy的实现
void strcpy(char *s, char *t)
{
while(*s++ = *t++))
;
}
和这个写法一样阿,这个s难道也指向0了?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |