printf和scanf中的数字后面的%

问题描述 投票:-1回答:1

我偶然发现了这个,我不知道它到底在做什么

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代表什么?

c printf scanf
1个回答
0
投票

"%10d"表示根据需要在左侧填充空格,因此输出至少为10 characters

© www.soinside.com 2019 - 2024. All rights reserved.