\t 是8位但是你要明白它不是对于前一个字符来说的8位,而是对面板来说的 printf("a\tb\n"); |a| | | | | | | |b| printf("as\tb\n"); |a|s| | | | | | |b| printf("asdfghj\tb\n"); |a|s|d|f|g|h|j| |b|printf("asdfghjk\tb\n"); |a|s|d|f|g|h|j|k| | | | | | | | |b|
我做过实验,上述面板的意思是8个字符为一个面板,如果在转义字符前有7个字符,那么前面就不是一个面板,将从7个字符中的第一个,开始算8位,再显示转义字符后面的东西,看上去像是一个小空格。
如果在转义字符前有8个字符,那么是一个面板,将从8个字符中的最后一个开始,跳8位,再显示转义字符后面的东西。