2017-02-19 4 views
1

私は自分のコードについて疑問を抱いています。私がコードを実行するためにそれをコンパイルするときに書き込むたびに、常に丘の下にありますが、私はコマンドを使用します。\nこれは新しい右上の行を右にしますか?行をジャンプするときに nコマンドを順序に入れないのはなぜですか?

私はこのように書きます。

#include <stdio.h> 

int main(void) { 
    printf("1 \n 2 \n 3 \n 4 \n 5 \n 6 \n 7 \n 8 \n 9 \n 10 \n"); 
    return 0; 
} 
+0

番号が同じ列に整列されていない理由を求めている場合は、1つの文字ですべてをインデントする各 '\のN '、後にスペースが含まれるので、それはです:ループ内でこれを行うには。 – Jameson

+0

期待される出力は何ですか?どのような出力が見えますか? – rootkea

+0

ありがとう、私はそれが自動であると思った、私はスペースが理由であることに気付かなかった。 –

答えて

1

あなたは改行文字\nの前後にスペースを追加します。これにより、2番目以降の行が1つのスペースでインデントされます。

使用代わりに、このすべての数字は左詰めたい場合:

#include <stdio.h> 

int main(void) { 
    printf("1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n"); 
    return 0; 
} 

、これをあなたがそれらを右に揃えたい場合は:あなたが作るために小さな塊に文字列を破ることができる

#include <stdio.h> 

int main(void) { 
    printf(" 1\n 2\n 3\n 4\n 5\n 6\n 7\n 8\n 9\n10\n"); 
    return 0; 
} 

注意をより明白な意図:

#include <stdio.h> 

int main(void) { 
    printf(" 1\n" 
      " 2\n" 
      " 3\n" 
      " 4\n" 
      " 5\n" 
      " 6\n" 
      " 7\n" 
      " 8\n" 
      " 9\n" 
      "10\n"); 
    return 0; 
} 

の書式設定機能を使用することもできます

#include <stdio.h> 

int main(void) { 
    for (int i = 1; i <= 10; i++) { 
     /* left pad the number with spaces for a minimum width of 2 characters */ 
     printf("%2d\n", i); 
    } 
    return 0; 
} 
関連する問題