- 198 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 03:50:48 ]
- >>193
C FAQより ---------- 17.3: ほら、このわざを見て。 if(!strcmp(s1, s2)) これはよい書き方? とくによい書き方ということはない。ただし人気のある書き方ではある。このテストは、二つの文字列が同じときに成功する。しかしこの 形は等しくないことをテストしているようにみえる。 より優れた選択肢としては以下のようなマクロを使うことがある。 #define Streq(s1, s2) (strcmp((s1), (s2)) == 0) コーディングスタイルに関する考え方は、宗教に関する考え方と同じ で、議論に終りがない。よい書き方は価値ある目標であるし、たいて いは見ればよいか悪いかわかるが、文章にすることはできない。質問 17.10も参照のこと。 ---------- どこにもif (!strcmp(str1, str2)) {} よりif (0==strcmp(str1, str2)) {} の方がいいとは書いてありませんが? より良い書き方としてあげている例も、 #define Streq(s1, s2) (strcmp((s1), (s2)) == 0) と、定数は右側に来ていますよ。
|

|