在C/C++中,字符串以'\0'结尾是一种强制要求,或者说,只有满足这个要求的 字符数组才能被称为字符串.否则,你所做的所有操作结果都是未定义的! C标准库string.h中所有关于字符串的函数都有一个特性,对于输入字符串,默认为是以'\0'结尾的 ,否则就会出现未定义行为,比如strlen,实现就依赖了这一点: int len = 0; while(*s++)len++;对于输出字符串(一把是返回一个char*指针),也保证在末尾加上一个'\0' 本来,如果把字符串完全当成整体(像std::s…