为什么右边的线没有对齐呢

img

img


为什么右边的线不是连起来且对齐的呢,复制代码之后位置也会乱掉?

 printf("%-8s%-7s%-6s\n", "Name", "Age", "Gender");
    printf("---------------------\n");
    printf("%-8s%-7s%-6s\n", "Jack", "18", "man");
    return 0;

可以通过输出字符判断来调用,这样不会出太大问题 你那个样子因为空格什么的字节不一样出来可能会不一样

一边调试一遍改

在文本中,显示对齐。但是实际在程序编译中,中文占用的字节和空格或者tab占用的字节数不一致造成对齐不一致。

英文字符才可能所见即所得,若含有多字节字符(中文)源代码中看对齐了,实则绝对是不齐的,因为宽字符显示出来时它们之间的间隙和英文不一样,而且宽字符字体本身宽度大概是英文字符宽度的2倍左右,从而导致看上去是齐的,输出不齐。我有篇文章显示菜单,可以看看究竟怎么回事。

把你的 \n 放到所有 printf 之前就ok 了