FreeBSD の LLVM で C 言語の整数型リテラル値の論理和を試す2018年09月23日 12時33分59秒

&& は C言語や C++ の論理和。整数型を引数に取り、両辺がゼロでない場合に一を返す。各種プラットフォームやコンパイラでどのような警告などが出るのか興味を持ったので、試せる範囲で実験してみることにした。

コードは簡潔に。

freebsd% cat logical-and-int.c
int main()
{   
    return 1 && 2;
}
今回は FreeBSD 11.2-RELEASE の LLVM 6.0.0 を使って実験。
freebsd% cc logical-and-int.c
logical-and-int.c:3:14: warning: use of logical '&&' with constant operand
      [-Wconstant-logical-operand]
    return 1 && 2;
             ^  ~
logical-and-int.c:3:14: note: use '&' for a bitwise operation
    return 1 && 2;
             ^~
             &
logical-and-int.c:3:14: note: remove constant to silence this warning
    return 1 && 2;
            ~^~~~
1 warning generated.
定数の論理和を行うと警告が出された。論理積 の & と間違えたのではとの、考察のようだ。確かに、簡単な論理和をわざわざ定数で求める理由はたいしてない。

次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2018/09/23/8963995/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。