人とか機械とか

デジタルガジェットやコンピュータについてのブログです。

C言語とバックスラッシュ

C言語ソースコード中のバックスラッシュが行の終端にあると、それは改行コードをエスケープすることを意味する。なので、つながった1行とみなされる。これはマクロを書くときに見やすくするのに使ったりする。

なんだけど、落とし穴があって、行コメント (//) の終端に間違ってバックスラッシュを書いてしまうと、それもやはり改行コードのエスケープと解釈されるため、つまり次の行もコメントと見なされてしまう。typoで間違ってそれをやって、すごい悩んだ人がいた。

厳密に言うとC90の規格に行コメント(//)は無いんだけど、コンパイラの拡張として備えているものが多い。

広告を非表示にする