1.strlen的返回值问题
strlen的返回值类型时size_t,这是一个无符号类型,那么如果你在编程的过程中出现以下的用法,将会对程序的逻辑造成bug
if( ( strlen(str1) - strlen(str2) ) <0 )
{
...
}
以上这段代码永远都为假,因为size_t是无符号类型,永远不可能出现负数的情况
本文深入探讨了strlen函数的返回值类型为size_t这一特性,解释了为何在比较字符串长度差值时,直接使用小于号判断可能导致逻辑错误,并提供了正确处理无符号类型比较的方法。
1.strlen的返回值问题
strlen的返回值类型时size_t,这是一个无符号类型,那么如果你在编程的过程中出现以下的用法,将会对程序的逻辑造成bug
if( ( strlen(str1) - strlen(str2) ) <0 )
{
...
}
以上这段代码永远都为假,因为size_t是无符号类型,永远不可能出现负数的情况

被折叠的 条评论
为什么被折叠?