4

次のテキスト行を検討してください。

テキストの最初の行。

文字配列stringを使用して配列の最初の 10 文字をロードすると、次のように出力されます。

First lin'\0'

First5 文字をlin含む、3 文字を含む。他の 2 つの文字はどこで使用されていますか?

\02文字とみなされますか?

それとも、単語間のスペースは文字と見なされるので、'\0' は 1 文字ですか?

4

4 に答える 4

16

はい、スペースは文字です。ASCII エンコーディングでは、コード番号は 32 です。

于 2012-12-15T20:09:58.157 に答える
7

2 つの単語の間のスペースには、ASCII コード 0x20 (040 8または 32 10 ) があります。1 バイトを占めます。

文字列の最後にある null である ASCII コード 0x00 (8 進数と 10 進数の両方で 0) は、他のバイトを占有します。

スペースバーは、入力時にスペース文字を生成するキーボード上のキーであることに注意してください。

于 2012-12-15T20:10:26.487 に答える
3

'\0'null-terminatorであり、すべての実装で文字通り値ゼロです。

'\0'バックスラッシュは文字をエスケープ\することを意味するため、単一の文字と見なされます。したがって、どちらも単一の文字ですが、非常に異なるものを意味します.'\0''0'

スペースは別のascii 値で表されることに注意してください。

于 2012-12-15T20:10:14.920 に答える