在刷题的时候,发现用 -1<t.size() 输出的是错误的值,如下,t=“ABC”,但重新定义一个变量后又可以了,查阅检查后,发现string.size()返回的是一个无符号的整数,因此与有符号整数比较,程序默认把符号位看作数值,所以负号被看出了最高位的1,自然就比str.size()大了。

C++中 负数与String字符串的长度 string.size()作比较 输出错误
最新推荐文章于 2025-12-02 21:05:32 发布
文章讲述了在编程中遇到的问题:使用-1<t.size()时得到错误结果,原因是string.size()返回的是无符号整数,与有符号整数比较时,负号被视为数值的一部分。解决方法是理解两者数据类型的区别。
938

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



