深入理解计算机系统的第196页的练习题3.46
malloc(strlen(buf)+1)是为了给结束符预留存储位置,strlen是字符串的长度,不包括结束符,所以在分配空间时应当加一
字符串必须以'\0'结尾,strlen()返回字符串长度不包括'\0'字符,因此分配内存时要多分配一个字节给'\0'
留一位给结束符