C語言中的轉義字符 \t 輸出時佔用幾個空格?

測試數據

#include <stdio.h>

void main() {
    printf("\t123456789\n");
    printf("1\t23456789\n");
    printf("12\t3456789\n");
    printf("123\t456789\n");
    printf("1234\t56789\n");
    printf("12345\t6789\n");
    printf("123456\t789\n");
    printf("1234567\t89\n");
}

運行結果

        123456789
1       23456789
12      3456789
123     456789
1234    56789
12345   6789
123456  789
1234567 89

總結規律

規律:space num = 8-(n%8)
注意:
    這裏 n 指的是從當前的 \t 開始往前的所有可顯字符的個數,如果往前再次遇到 \t、\r、\n 時,則計數停止。
    如果遇到其它不可顯示轉義字符時,則忽略不計,也不停止計數。
    但是遇到佔位符,例如:%d、%10d,這種佔位符輸出了幾個字符,就代表佔了幾個字符的位置。

特殊:\r\t,當前行,從頭開始,輸出 8 個空格
特殊:\n\t,換一行,從頭開始,輸出 8 個空格
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章