[問題] for(size_t k=start; k+1!=end; k--)

看板C_and_CPP (C/C++)作者 ( )時間16年前 (2010/03/13 16:37), 編輯推噓3(3024)
留言27則, 4人參與, 最新討論串1/1
想請問各位 標題的寫法是否可能發生錯誤 我原本想表達的是 for(int k=start; k>=end; k--) 其中 start 與 end 皆為 size_t, 但這樣編譯器會產生警告, 所以換成 for(size_t k=start; k+1!=end; k--) 測試後 結果也OK 但是怕會不會只是剛好目前的情況都對 因此上來請問各位 這樣的寫法是否可能發生錯誤 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.40.27 ※ 編輯: HeyScng 來自: 118.169.40.27 (03/13 16:38)

03/13 17:04, , 1F
不知道你要幹嘛怎麼知道會不會XD 單就寫法本身是不會錯啦
03/13 17:04, 1F

03/13 20:48, , 2F
XD 好像也是這樣喔 我是要用來讀陣列內容的
03/13 20:48, 2F

03/13 20:50, , 3F
我只是想確定 是不是全世界只有我這樣寫@@
03/13 20:50, 3F

03/13 20:52, , 4F
想確定說 k+1!=0 是否與 k>=0 一樣 感恩
03/13 20:52, 4F

03/13 20:55, , 5F
看看你k的型態宣告吧! int k
03/13 20:55, 5F

03/13 20:56, , 6F
k+1 != 0表示k可以>0或k可以<0
03/13 20:56, 6F

03/13 20:57, , 7F
那這樣跟你後面 k >= 0 也就是 k不能為"負數" 會一樣嗎?
03/13 20:57, 7F

03/13 20:58, , 8F
不是酸你,寫程式基本邏輯包括數學推導要有一個程度,加油
03/13 20:58, 8F

03/13 20:59, , 9F
加油!!!
03/13 20:59, 9F

03/13 21:01, , 10F
上面第貳行寫錯,是k+1 != 0, k可以>=0或k可以<0, 但不能
03/13 21:01, 10F

03/13 21:01, , 11F
等於-1
03/13 21:01, 11F

03/13 21:02, , 12F
加油!
03/13 21:02, 12F

03/13 23:11, , 13F
start 跟 end 都是 size_t 不會是負的, 所以除非設錯讓
03/13 23:11, 13F

03/13 23:11, , 14F
跳出條件永遠無法符合, 不然是不會出現 k < 0 的狀況啦
03/13 23:11, 14F

03/13 23:40, , 15F
了解 謝謝
03/13 23:40, 15F

03/14 00:11, , 16F
回tomnelson, 如果只是跑一個方向, 語意不一樣是沒關
03/14 00:11, 16F

03/14 00:14, , 17F
係的, 如果常用迭代器, 為了風格一致應該都改用 !=
03/14 00:14, 17F

03/14 21:00, , 18F
謝謝愛我大大指教,你說的我知道,我是想點出很多人寫程式
03/14 21:00, 18F

03/14 21:03, , 19F
時型態定義上的盲點,還有資料本身在計算機結構上儲存時,
03/14 21:03, 19F

03/14 21:04, , 20F
以及被拿來計算時的實際情況,尤其是C語言這種語言更是需
03/14 21:04, 20F

03/14 21:05, , 21F
要注意,因為C本身一開始是在Bell Lab裡被拿來替代組語設
03/14 21:05, 21F

03/14 21:06, , 22F
計Unix作業系統用的. size_t並不是native type, 而是從
03/14 21:06, 22F

03/14 21:08, , 23F
native/base type重宣告(typedef)而來的(通常是unsigned
03/14 21:08, 23F

03/14 21:08, , 24F
long或unsigned int), 所以看unsigned int與int(signed
03/14 21:08, 24F

03/14 21:09, , 25F
int)兩者有何不同, 就可以知道問題在哪兒了.
03/14 21:09, 25F

03/14 21:10, , 26F
以上個人淺見!
03/14 21:10, 26F

03/14 21:14, , 27F
沒錯, 型態的選擇是很重要的, 上了堂不錯的歷史課 :)
03/14 21:14, 27F
文章代碼(AID): #1BcqxQI_ (C_and_CPP)
文章代碼(AID): #1BcqxQI_ (C_and_CPP)