的printf("%* d",变量);
我想知道printf函数中的(*)是什么用途
答案 0 :(得分:0)
星号用于指定值的宽度,printf接受3个参数:
printf("%*d", width, value);
示例:
printf("%*d", 3, 16);
// output:“16”(printf添加一个空格以符合指定的宽度)
答案 1 :(得分:0)
。后跟整数或*,或两者都不指定精度 转换。在使用*的情况下,精度为 由int类型的附加参数指定。如果是这个值 论证是否定的,它被忽略了。如果既不是数字也不是* 使用时,精度为零。请参阅下表以获取确切的信息 精度的影响。
对于整数说明符(d,i,o,u,x,X):precision指定要写入的最小位数。如果要写入的值小于此数字,则结果将使用前导零填充。即使结果较长,也不会截断该值。精度为0表示没有为值0写入字符。 对于a,A,e,E,f和F说明符:这是小数点后要打印的位数(默认情况下,这是6)。 对于g和G说明符:这是要打印的最大有效位数。 对于s:这是要打印的最大字符数。默认情况下,将打印所有字符,直到遇到结束的空字符。 如果指定的句点没有显式的精度值,则假定为0。
printf ("Width trick: %*d \n", 5, 10)
输出
Width trick: 10