精華區beta Programming 關於我們 聯絡資訊
※ 引述《streit.bbs@aeug.twbbs.org (亞斯爾‧馮‧修特萊)》之銘言: > ※ 引述《garylee.bbs@bbs.yzu.edu.tw (www.dev.idv.tw)》之銘言: > > 3. if (atoi(&NC.....) 這裡有bug。你的程式沒crash掉已經是運氣好了。 > > 如果只是要判斷一個字元是不是"0",何不寫成下面這樣呢? > > if (tmpStr[0] == '0' && tmpStr[1] == '0') > 會crash的理由是?? > 要判斷兩各字元是否都是數字 因為第一各可能是英文字母或是其他特殊字元 > 如果第二各式數字則 本行一樣要視為資料寫入struct中 重點不在於你要判斷第一個字元是什麼 你知道 zero-terminated string 嗎? atoi 假設會收到一個字串,結尾有個 0 你宣告 NC 只有一個字元,可沒保證 *(&NC+1) 的內容是 0 喔 所以沒 crash 掉真的是剛好 C 語言的字串處理該好好看一下.. -- , 秘密情人 (bbs.cse.ttu.edu.tw) ~\ Post From: 61-70-137-117.adsl.static.giga.net.tw