你之前和換行符\n
後添加一個空格。這會導致第二行和後續行縮進一個空格。
使用此,而是如果你希望所有的數字左對齊:
#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;
}
如果你問爲什麼數量並不在同一列排列,這是因爲您在每個'\ N'後的空間,這將是一個字符都縮進。 – Jameson
預期產量是多少?你看到了什麼輸出? – rootkea
謝謝,我認爲這是自動的,我沒有意識到空間會是原因。 –