#include "stdio.h"
int main()
{
int toes = 10;
printf("toes=%d\t2toes=%d\ttoes2=%d\n",toes,toes+toes,toes*toes);
return 0;
}
//这是来自c primer plus的练习。编译并运行后,只有第二个工作。
答案 0 :(得分:6)
对我来说很好。 (example)
输出:
toes=10 2toes=20 toes2=100
请注意,\t
表示" 制表",或者换句话说填充到 N 位置的最近倍数,其中 N 通常为8。
toes=10
占用7个字符,因此要达到8的下一个倍数,则需要打印1个空格。
答案 1 :(得分:2)
选项卡将文本缩进到固定位置。这意味着,它们不会形成4个空格的间隙,但会在匹配下一个标记位置之前形成间隙。
toes=10 2toes=20 toes2=100
1234567812345678123456781234567812345678
这是一个不吉利的例子。你的标签是8长。所以他们每8个字母停止一次。如果您在第一个\t
之前添加了一个空格,那么您的标签会产生更大的差距。
通过以下方式实现更好的输出格式:
printf("%s%s%s\n", " single", " double", " square");
printf("%7d%7d%7d\n", toes, 2*toes, toes*toes);
输出:
single double square
10 20 100
答案 2 :(得分:1)
它正在工作,但似乎不是!!!
这是因为默认情况下您的tabspace
等于8
spaces
。 toes=10
占用7
个空格,只留下1
空格,以便\t
填充。
要查看它是否有效,请将printf
更改为:
printf("ts=%d\t2toes=%d\ttoes2=%d\n",toes,toes+toes,toes*toes);
答案 3 :(得分:0)
\t
字符不会占用相同的空格,它会调整为列。
如果您想在条目之间添加固定数量的空格,请在您的值之间手动输入。