C 编程“”的怪异行为(newtab)

问题描述 投票:0回答:1

所以我遇到了一个奇怪的场景。

运行此代码时:

#include<stdio.h>

main(){
    printf("Fahrenheit\tCelsius\n");
    printf("Celsius\tFahrenheit\n");

}

会显示

Fahrenheit      Celsius
Celsius Fahrenheit

有人可以解释为什么会有这样的行为吗?

代替:

Celsius Fahrenheit

它应该显示:

Celsius      Fahrenheit
c tabstop
1个回答
0
投票

制表符并不等同于一定数量的空格。 它前进到下一个选项卡“停止”。

在您的情况下,制表位似乎是每 8 个字符:

t       t       t       t
-------------------------
Fahrenheit      Celsius
Celsius Fahrenheit

通过上面的内容,应该更清楚到底发生了什么了。 在第一行中,制表符前进到下一个制表位,即第三个,而在第二行中,下一个制表位是第二个。

© www.soinside.com 2019 - 2024. All rights reserved.