C++中 负数与String字符串的长度 string.size()作比较 输出错误

文章讲述了在编程中遇到的问题:使用-1<t.size()时得到错误结果,原因是string.size()返回的是无符号整数,与有符号整数比较时,负号被视为数值的一部分。解决方法是理解两者数据类型的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值