strlen函数使用注意
0赞
发表于 5/19/2013 9:54:19 PM
阅读(1929)
注意strlen返回的是一个无符号整数类型,在表达式中使用要注意可能出现的不可预料的结果:
如:
if( strlen(x) >= strlen(y) ) ...
if( strlen(x) - strlen(y) >= 0 ) ...
上面两个表达式看上去是相等的,但实际上是不相等的,第二句的结果将永运是真,strlen的结果是无符号数,所以>=左边的表达式也将是无符号数,而无符号数是绝不可能是负的。
