簡介
許多新手和經驗豐富的 C 和 C 程式設計師經常使用做出錯誤的假設會導致錯誤的程式碼。認識和挑戰這種毫無根據的假設對於改進程式設計實踐至關重要。
測試建議
為了示範和挑戰這些假設,請考慮以下測試程序,該程序檢查各種「可以想像的」 " 程式設計師通常做出的假設:
<code class="c">#include <stdio.h> #include <stdlib.h> #include <stddef.h> int main() { // Character-related Assumptions EXPECT("00: ASCII is consistent", ('A' == 65)); EXPECT("01: A-Z forms a contiguous block", (('Z' - 'A') + 1 == 26)); EXPECT("02: Uppercase letters precede lowercase letters", ('A' < 'a')); EXPECT("03: A character is 8 bits", (CHAR_BIT == 8)); EXPECT("04: Characters are signed", (CHAR_MIN == SCHAR_MIN)); }</code>
其他測試
整數假設:
判斷size_t 和ptrdiff_t 大小是否相同: sizeof(size_t) == sizeof( ptrdiff_t)
檢查子表達式從左到右的求值是否一致,即使使用函數呼叫也是如此: (ltr_fun(1) * ltr_fun(2) * ltr_fun(3) * ltr_fun(4), ltr_result == 1234)以上是C/C 程式設計師經常做出哪些毫無根據的假設?的詳細內容。更多資訊請關注PHP中文網其他相關文章!