你写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…。
先说结论,不是 再说为啥 1.虽然东风41能覆盖米利坚,但是...
2025-06-20阅读全文 >>一般特斯拉就是保险补贴、车漆补贴、降价、免息这四个轮流来,下...
2025-06-20阅读全文 >>都到这个价位了我只能说黑不动,真黑不动 M4芯片的性能就值1...
2025-06-20阅读全文 >>各方互设关卡互不相让的结果。 不说苹果,就是Windows...
2025-06-20阅读全文 >>老大:力大无穷,杀死绝大多数竞技体育比赛,个人能挣不少钱 老...
2025-06-20阅读全文 >>