【LeetCode/C++】循環條件i小於size()-1越界

for(int i=0;i<arr.size()-1;++i)

數組,想單獨處理最後一個,所以i<size()-1,循環外處理最後一個

考慮了數組爲空,想着0<-1也沒毛病

但是測試提示越界

cout<<arr.size()-1是一個很大的數字

搜了波,https://blog.csdn.net/zhaohaibo_/article/details/86652112

劃重點:STL中的size(),是一個無符號整形變量(unsigned int),在於其他數做運算時,會把其他數字強制轉換爲無符號整形。

所以,unsigned int(-1)的值是最大的unsigned int,即4294967295

所以,i+1<arr.size()即可

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章