【发布时间】:2019-11-20 11:02:53
【问题描述】:
我偶然发现了这个,我不知道它到底是做什么的
int i;
for ( i = 1; i <= 20; i++ ) {
printf( "%10d", (1+rand()%6) );
if ( i % 5 == 0 ) {
printf( "\n" );
}
}
以上是掷骰子 20 次的程序的一部分。
我不明白的是这一行:
printf( "%10d", (1+rand()%6) );
我的问题是“%10d”
这是一个视觉的东西,因为输出的外观顺序会随之改变。
我知道在浮点值中它显示小数点,但在整数中作为 int 呢,还有谁能告诉我这之间的区别:
prinf("%.2f",value);
还有这个:
prinf("%6.2f",value);
他们都打印 1000.30,那么 6 是什么意思?
【问题讨论】:
-
是的,如果给出 4 位数字,则 %10d 剩下的 6 个位置用 sapces 填充
-
我读过 deitel 的书,但它只解释了浮点数
-
所以 10 表示输出有 10 个空格?
-
10 表示打印您的号码的总大小,如果号码少于 10 位,则剩余填充空格
-
基本上
%d只打印数字的有效数字(“1234”),%10d打印带有 10 位小数的数字,使用空格作为非有效数字(“1234”)和%010d打印带有 10 位小数的数字,使用0表示非有效数字(“0000001234”)。