18.2 用 if(!strcmp(s1, s2)) 比較兩個字符串等值,是否是個好風格?

這並不是個很好的風格, 雖然這是個流行的習慣用法。如果兩個 字符串相等, 這個測試返回為真, 但 ! (``非") 的使用, 容易引起誤會, 以為測試不等值情況。

另一個選擇是用一個宏:

	#define Streq(s1, s2) (strcmp((s1), (s2)) == 0)

參見問題 17.8

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)