作者:零食专卖店 | 来源:互联网 | 2022-12-17 19:01
1> alk..:
整数长度未知
事实并非如此.:-)
计算迭代次数并将其传递给最终调用printf
宽度.
#include
int main(void)
{
int n, reversedNumber = 0, remainder;
printf("Enter an integer: ");
scanf("%d", &n);
{
size_t i = (0 > n);
while (n != 0)
{
remainder = n % 10;
reversedNumber = reversedNumber * 10 + remainder;
n /= 10;
++i;
}
printf("Reversed Number = %0*d\n", (int) i, reversedNumber); /* Alternatively
to the cast you can define i as int. */
}
return 0;
}
从文档:
4每个转换规范由字符%引入.在%之后,以下顺序出现:
[...]
可选的最小字段宽度.如果转换后的值的字符数少于字段宽度,则在字段宽度上用左侧(或右侧,如果左侧调整标志,稍后描述)填充空格(默认情况下).字段宽度采用星号*(稍后描述)或非负十进制整数的形式.[...])
[...]
5如上所述,字段宽度[...]可以用星号表示.在这种情况下,int参数提供字段宽度或精度.指定字段宽度[...]的参数应在要转换的参数(如果有)之前出现(按此顺序).
[...]