我有2个命令
printf("%2i%2i", 3, 5);
printf("%7.2f %2i\n", 34.56, 1);
了解%2i
如何移动" 5"第一个printf
命令右侧有2个单位
但是
printf("%7.2f %2i\n", 34.56, 1);
" 1"在数字34.56
之后是3个移动的空格?
答案 0 :(得分:4)
“1”是数字34.56之后的3个移动空格?
原因是第二个格式化字符串中有一个额外的空格:
printf("%2i%2i", 3, 5);
printf("%7.2f %2i\n", 34.56, 1);
// ^here
答案 1 :(得分:1)
您使用的这些数字称为字段宽度。它们指定用于表示数字的字符数。
由于5是单个数字%2d
,因此使用1个块来打印5并应用前导空格。
同样,printf("%7.2f %2i\n" , 34.56 , 1 );
的输出将为:
..34.56..1
注意:'。'(点)代表空格
因此,在 1
34.56
2个空格