[英]Specify variable number of decimal places to printf
我想知道如何使用scanf()
允許用戶輸入他想要給出答案的小數位數,以及如何將這個變量輸入到printf
格式說明符中。 例如
printf("The answer is %.(variable wanted here)f", answer);
如果將*
用作字段精度說明符,它將告訴printf
它是可變的。 然后,您可以指定一個附加的int
參數,以告知printf
所需的精度。
從printf(3)
:
代替十進制數字字符串,可以寫“ *”或“ * m $”(對於某些十進制整數m)來指定字段寬度分別在下一個參數或第m個參數中給出,必須屬於int類型。
請注意,這也可以設置要從字符串中打印的最大字符數。
#include <stdio.h>
int main(void)
{
int places = 3;
printf("%0.*f\n", places, 1.23456789);
printf("%0.*f\n", places, 6.7);
char buf[] = "Stack OverflowXXXXXXXX";
printf("%.*s\n", 14, buf);
return 0;
}
輸出:
1.235
6.700
Stack Overflow
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.