編譯程式能夠檢查出以下while 迴圈錯放了乙個分號:
/* memcpy 複製乙個不重疊的記憶體塊 */
void* memcpy(void* pvto, void* pvfrom, size_t size)
我們從程式的縮排情況就可以知道while 表示式後由的分號肯定是個錯誤,但編譯程
序卻認為這是乙個完全合法的while 語句,其迴圈體為空語句。由於有時需要空語句,有
時不需要空語句,所以為了查出不需要的空語句,編譯程式常常在遇到空語句時給出一條
可選的警告資訊,自動警告你可能出了上面的錯誤。當確定需要用空語句時,你就用。但
最好用null 使其明顯可見。例如:
char* strcpy(char* pchto, char* pchfrom)
由於null 是個合法的c 表示式,所以這個程式沒有間題。使用null 的更大好處在於
編譯程式不會為null 語句生成任何的**,因為null 只是個常量。這樣,編譯程式接受
顯式的null 語句,但把隱式空語句自動地當作錯誤標出。
sscanf 特別用法
在softmse jake 的問題貼http community.csdn.net expert topic 4843 4843294.xml?temp 4321558中 周星星給出了乙個很cool的sscanf用例,而後通過學習,發現sscanf真棒,現做一總結。原問題 iios 12ddwdff...
define 的特別用法
在分析u boot原始碼發現這樣的巨集 macros to transform values into environment strings.define xmk str x x define mk str x xmk str x 從注釋來看是把x轉換成字串。找到了相關的資料,解讀了這個defin...
記乙個單雙引號的特別用法
print 既需要 單引號 又需要 雙引號 print 既需要 單引號 又需要 雙引號 感受一下這兩個的不同 後乙個 表示,我也是雙引號,但我是乙個有想法的雙引號,我得找乙個跟我同樣有想法的雙引號在一起,普通的雙引號不配跟我做朋友。這裡涉及到了轉義字元 的使用 python字串中,反斜槓字元 表示轉...