当前位置: 首页 > news >正文

for循环s.length()-1,s为空时的一直执行循环的问题

 

以下代码输出test2,如果没有break,会一直运行

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main() {
 5     int i;
 6     string s = "";
 7     int len = s.length() - 1;
 8     for (i = 0; i < len; i++) {
 9         cout << "test0" << endl;
10         break;
11     }
12 
13     for (i = 0; i < s.length(); i++) {
14         cout << "test1" << endl;
15         break;
16     }
17 
18     for (i = 0; i < s.length() - 1; i++) {
19         cout << "test2" << endl;
20         break;
21     }
22     return 0;
23 }

 

 

 

  1. s.length() 返回的是 size_t 类型(无符号整数)

  2. s 是空字符串,所以 s.length() 等于 0

  3. s.length() - 1 计算时发生无符号整数下溢

    • 0 - 1 在有符号整数中是 -1

    • 但在无符号整数中,0 - 1 会变成最大值(通常是 18446744073709551615

http://www.rkmt.cn/news/17687.html

相关文章:

  • 一文读懂AI Agent:为什么说它是大模型的下一站?
  • AI元人文构想的新启发:从自动驾驶困境到通用价值智能的构建——声明Ai研究
  • mido配置 DNS 服务器
  • Flutter 中运用 Color 的最优方案
  • 竞争自适应重加权采样(CARS)算法在光谱数据变量选择中的解决方案
  • AI元人文构想的新启发:从自动驾驶困境到通用价值智能的构建
  • Word通过宏统一设置样式
  • Origin 2025b安装包下载及详细安装教程,附永久免费中文汉化破解版Origin安装包
  • st表模板
  • 详细介绍:百度Qianfan-VL系列上线:推出3B/8B/70B三款视觉理解模型,覆盖不同算力需求
  • CesiumGlobeAnchor
  • 技术复习要点清单
  • res-downloader v2.1.2 全平台资源下载工具深度指南:支持视频号/抖音/音视频嗅探,附常见问题解决方案
  • 6G多站多智能超表面(RIS)
  • 缓冲区管理
  • 智慧考试微信小程序系统:一站式在线考试解决方案
  • oracle中引号的使用总结与报错信息
  • 二部图,最大权/最小权完美匹配,费用流解法
  • 2025 年电线电缆厂家最新推荐:实力厂家榜单重磅发布,涵盖多品类线缆及专业选择指南国标/朝阳/低压/阻燃/耐火/北京电线电缆厂家推荐
  • 家政服务小程序系统:一站式家政服务解决方案
  • 2025 滚珠丝杆厂家最新推荐榜单:精密 / 微型 / 重负载全品类适配,国产优质品牌选购指南不锈钢滚珠丝杆/大导程滚珠丝杆/研磨滚珠丝杆/高防尘滚珠丝杆厂家推荐
  • qwen3:0.6b模型的基本参数存在的价值应用场景分析
  • Trae 或 vscode无法在vue文件中自动跳转解决
  • 实用指南:小白也能学会的大模型构建:DeepSeek实战教程+代码解析
  • 外设知识学习笔记
  • 专业的用户反馈管理分析工具,能帮企业节省多少开支?
  • ARM芯片架构之CoreSight Programmers‘ Model 深入解析 - 实践
  • 2025.10.9午后有感
  • Hyper-v 安装 Android9
  • 素材