#include <stdio.h>
#include <stdlib.h>
void copy_str(char *from, char *to)
{
while(*from!='\0')
{
*to++ = *from++;
}
*to = '\0'; // **①**
}
void main()
{
char *from = "I am a student!";
char buf[100];
copy_str(from, buf);
printf("buf: %s",buf);
system("pause");
}
在①处需要必须加上这句,因为在while循环中在*from等于’\0’的时候就跳出循环了,然而我们在printf打印buf的时候是按字符串格式%s打印的,所以必须在字符串后面加上\0。否则后面打印会出现乱码。