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 个空格
展开阅读全文
©️2020 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值