3
printf("Hello%cWorld\n", '\r');

出力:

World

'\r'カーソルを行頭に移動するため

すべての端末がこの動作をしていると信頼できますか?

4

2 に答える 2

0

この場合、ASCII エンコーディングの .0x0d は '\r' です。

printf("Hello%cWorld\n", 0x0d);

に等しい

printf("Hello\rWorld\n");

一般的な C プログラミング エラーは、実際には別のエンコーディングが有効であるのに、特定のエンコーディングが使用されていると想定することです。

ただし、@Joachim Pileborg が言ったように、ほとんどのコンピューターで動作します。

しかし、移植性のために 0x0d の代わりに '\r' を使用することをお勧めします。後者は魔法の数字のように見えます。これにより、コードを読む他の人が自分自身でさえいつか混乱するようになります。

于 2013-05-17T07:01:47.730 に答える