字符串就是一串零个或多个字符,并且以一个位模式为全0的NUL(即'\0')字节结尾。**NUL字节是字符串的终止符**,但他本身并不是一个字符串的一部分,所以字符串的长度**不包括NUL字节**。
库函数strle的原型如下:
size_t strlen(char const *string);
注意strlen返回一个类型为size_t的值,它是一个无符号整数类型,例如:
if( strlen (x) >= strlen (y)) ...
if( strlen (x) - strlen (y) >= 0)...
第一条正常工作,第二条语句永远为真,无符号数绝对不是负的。
如果把strlen的返回值强制转换为int,就能避免这个问题。