对于 fgets(str,读入个数size, stdin); 这句话,应该注意最多读入 size - 1 个字符,并在末尾添加一个 null 终止符。这是因为 fgets 会在读取最大数量字符或者遇到换行符时停止,并且会将换行符也作为字符读入。因此,为了确保字符串正确终止,需要留一个字符给 null 终止符。
对于 cin.getline(str,读入个数size); 这句话,应该注意最多读入 size - 1 个字符,并在末尾添加一个 null 终止符。和 fgets 类似,在读取最大数量字符或者遇到换行符时停止,但不会将换行符作为字符读入。同样需要留一个字符给 null 终止符。