#include "stdio.h"
int main()
{
int toes = 10;
printf("toes=%d\t2toes=%d\ttoes2=%d\n",toes,toes+toes,toes*toes);
return 0;
}
//これはCプライマープラスの練習です。コンパイルして実行した後、2番目の\ tだけが動作します。なぜ最初の tが機能しないのですか?
#include "stdio.h"
int main()
{
int toes = 10;
printf("toes=%d\t2toes=%d\ttoes2=%d\n",toes,toes+toes,toes*toes);
return 0;
}
//これはCプライマープラスの練習です。コンパイルして実行した後、2番目の\ tだけが動作します。なぜ最初の tが機能しないのですか?
私にとってはうまく動作します。 (example)
出力:
toes=10 2toes=20 toes2=100
なお\t
手段 "TABULATE"、又はNは通常8 N位置の最も近い倍数にパッドに換言されます。
toes=10
は7文字を占めるため、8の次の倍数に達するには1桁のスペースが必要です。
タブは、テキストを固定位置にインデントします。これは、4つのスペースのギャップを作るのではなく、次のフラグを立てるまでギャップを作ることを意味します。
toes=10 2toes=20 toes2=100
1234567812345678123456781234567812345678
これは不運な例です。あなたのタブの長さは8です。だから彼らは8文字ごとに停止する。最初にスペースを1つ追加した場合は、\t
のタブはより大きなギャップになります。 \t
文字が常に同じスペースを取りません
single double square
10 20 100
、それをカラムに調整します:出力
printf("%s%s%s\n", " single", " double", " square");
printf("%7d%7d%7d\n", toes, 2*toes, toes*toes);
:
より良い出力書式設定をすることによって実現されるだろう。
エントリ間のスペースを修正する場合は、値の間に手動で空白を入力します。
動作していますが、そうではないようです。
これは、デフォルトでtabspace
が8
spaces
に等しいためです。 を入力すると、は7
個のスペースを取り、残りの部分は1
個のスペースしか占めません。
あなたのprintf
に変更する作業をしていることを確認するには:
printf("ts=%d\t2toes=%d\ttoes2=%d\n",toes,toes+toes,toes*toes);
あなたは_ \ tはwork_しないで何を意味するのですか? – pzaenger
これは動作しますが、ビジュアル表現には1つ以上のスペースは必要ありませんか?ヘキサダンプを実行したり、空白文字を特別に視覚化しているエディタにコピーアンドペーストしてください。 – moooeeeep
タブにはx個のスペースは挿入されません。コンソールウィンドウの列に出力を揃えます。 –