fj.comp.lang.miscの記事<uu10nzcb8.fsf@anet.ne.jp>で
        tksotn@anet.ne.jpさんは書きました。
> if (c==' ' || c=='\t') とか。これを if (c==' ' | c=='\t') と書く人は
> 少ないでしょうけど、| はビット演算子という意識があるせいでしょうか?

0や1以外の値を返す関数やマクロの結果を真偽値として
使いたいときには、|はともかく&は使えないですよね。

たとえば
  strcmp(p, "charlie") & strcmp(p, "lucy")
はpが"charlie"でも"lucy"でもないのに偽になることが
あると。

あと
  isascii(ch) & isdigit(ch)
なんてのもまずそう。

で、&が使えないので対称性を考慮して|を使うのも忌避
される、ということではないでしょうか。
-- 
太田純(Junn Ohta) (株)リコー/新横浜事業所
ohta@sdg.mdd.ricoh.co.jp