再做一个编程题时遇到的一个问题,之前没有注意过。比如语句,bool temp = i < s.length()。明知i是小于 s.length()的,但是temp的值确实false的。这是因为length()函数的返回值是无符号的,C++在执行i<s.length()语句时会把有符号的数转成无符号的数,如果i是负数那么temp的值就会是false了。
string中的length()函数
最新推荐文章于 2024-09-12 12:02:31 发布
再做一个编程题时遇到的一个问题,之前没有注意过。比如语句,bool temp = i < s.length()。明知i是小于 s.length()的,但是temp的值确实false的。这是因为length()函数的返回值是无符号的,C++在执行i<s.length()语句时会把有符号的数转成无符号的数,如果i是负数那么temp的值就会是false了。