3

誰かが私にこの質問を説明できますか? 本がどのようにしてその価値にたどり着いたのか、あるいはどのようにして答えにたどり着くのか、私にはわかりません。

質問は次のとおりです。

chが型char変数であるとします。chエスケープ シーケンス、10 進値、8 進文字定数、および 16 進文字定数を使用して、復帰文字を に割り当てる方法を示します。(ASCII コード値を想定します。)

答えは次のとおりです。

ch以下を使用して復帰文字を に割り当てます。

a) エスケープシーケンス: ch='\r';
b) 10 進値: ch=13;
c) 8 進文字定数: ch='\015';
d) 16 進文字定数: ch='\xd';

パート a の答えは理解できますが、パート b、c、および d については完全にわかりません。説明できますか?

4

3 に答える 3

3

コンピュータは、ascii、utf-8、utf-16、iso-8859 ( http://en.wikipedia.org/wiki/ISO/IEC_8859-1 ) などの文字エンコーディングを使用して文字を表します。キャリッジ リターン文字は、初期のコンピュータで、プリントヘッドを左端の位置に戻すためのプリンタ命令として使用されていました。また、改行文字は用紙を新しい行にインデックス化するために使用されました (したがって、DOS が行に CRLF を使用するのは、ドット マトリックス プリンターでより適切に機能するためです)。とにかく、CR 文字は、言語に応じて、単一の 8 ビット バイト/オクテットまたは 2 バイト/オクテットの 16 ビット ペアの数値として内部的に保存されます。

一般的な ascii 文字セットは http://www.asciitable.com/にあります。CR、'\r'、13、0xD などは同じ値の異なる表現であることがわかります。

文字列は、末尾にマーカー (ターミネータ) が付いた文字の配列として格納されるか、現在の文字列の長さのカウントと共に格納される単なる文字列です。

于 2013-10-04T05:54:03.753 に答える