4

私はカーニハンとリッチーによるCプログラミング言語でプログラムをやっています。

私は現在、次のような演習1〜24を行っています。

かっこ、角かっこ、中かっこなどの基本的な構文エラーがないかCプログラムをチェックするプログラムを作成します。escape sequencesシングルとダブルの両方の引用符、、およびコメントを忘れないでください。

私はすべてをうまくやりました...しかしescape sequences、これらの括弧、括弧、および中括弧にどのように影響するかわかりませんか?

なぜ彼らはエスケープシーケンスについて警告したのですか?

4

3 に答える 3

4

には"\""、二重引用符が3文字ありますが、それでも有効な文字列リテラルです。真ん中"はエスケープされます。つまり、外側の2つは互いにバランスを取ります。同様に、'\''は有効な文字リテラルです。

括弧、角かっこ、中かっこは、もちろん、引用符がエスケープされているために正しく解析されない文字列リテラルに表示されない限り、影響を受けません。

于 2013-02-13T17:00:39.430 に答える
3

"(文字列を開始または終了する)と\"(文字列"である可能性がある文字列内の文字)を区別する必要があることを意味していると思います

strlen("\")");これは、かっこが不均衡であるなどの報告を避ける場合に重要です。

于 2013-02-13T17:00:47.850 に答える
2

明らかな可能性は、文字列内のエスケープされた引用符です。エスケープを考慮しないと、文字列がそこで終わったと思うかもしれません。例:"\")\""。は文字列リテラルの)一部であるため、括弧の不一致としてカウントされません。

于 2013-02-13T17:00:56.720 に答える