你写uint32,然后str真有4个G以上长度的时候你就老实了。
写c/c++最最基本的一件事:比较两个数的时候,请务必尽可能保证这两个数类型一致。
如果一定要不一致,那你千万当心。
要不然不知道有多少屎要去踩。
就你这个例子,strlen返回值就是size_t,64位系统里他就是有可能返回大于4G的值,那么如果你用uint,比较32和64的时候隐式转换为64,32转64的数字永远不可能大于4G,喜提无限循环。
这不是格局不格局的问题,str长度大于4…。
你写uint32,然后str真有4个G以上长度的时候你就老实了。
写c/c++最最基本的一件事:比较两个数的时候,请务必尽可能保证这两个数类型一致。
如果一定要不一致,那你千万当心。
要不然不知道有多少屎要去踩。
就你这个例子,strlen返回值就是size_t,64位系统里他就是有可能返回大于4G的值,那么如果你用uint,比较32和64的时候隐式转换为64,32转64的数字永远不可能大于4G,喜提无限循环。
这不是格局不格局的问题,str长度大于4…。
MacOS的流畅,像是你在五星级酒店洗了个澡,毛巾有熏香、镜...
2025-06-24阅读全文 >>为啥要换水,添水即可 来点挺水植物,太阳底下多晒晒,晒出绿毛...
2025-06-24阅读全文 >>最简单的 1.花10元在闲鱼买个夸克1年会员 2.花1-3元...
2025-06-24阅读全文 >>最近 Cursor 、Cline、 Trae 等 AI 工具...
2025-06-24阅读全文 >>编程本身就是一个 面向大众的技术。 不存在能不能赶上的说法,...
2025-06-24阅读全文 >>