字符串就是一串零个或多个字符,并且以一个位模式全为0的NUL字节结尾。NUL字节是字符串的终止符,它不是字符串的一部分。
即字符串的长度不包扩NUL字节。
字符串长度:
size_t strlen ( const char *s);
size_t是无符号整型。使用时要注意:
如: if(strlen(x) >= srlen(y)) ...
if(strlen(x) - strlen(y) >=0)...
第一句会如期工作,但第二句将永远为真,因为strlen的结果是个无符号数,则 >= 0 左边的表达式也是无符号数,即为真。
字符串比较:
int strcmp(const char *s1, const char *s2);
如果s1小于s2,,函数返回一个小于0的值,如果s1大于s2,返回一个大于0的值,如果相等,返回0.
注意:
初学者会写 if(strcmp(a,b)) ,这是错误的,
因为若字符串相等,则返回0,所以最好把返回值与0比较。