让我们说例如我想在点后打印结果3数字。
我可以使用以下代码:
printf("%.3f",result);
我想使用变量" precision"而不是写3
printf("%.precisionf");
我该怎么做呢
答案 0 :(得分:4)
使用有点遗忘的".*"
格式:
printf("%.*f", precision, result);
其中precision
是int
。完整的计划:
#include <stdio.h>
int main(void) {
double result = 1.234567;
int precision = 3;
printf("%.*f", precision, result);
}
答案 1 :(得分:3)
您可以使用sprintf以下列方式创建格式字符串:
char tmp[10];
sprintf(tmp,"%%.%df",precision);
printf(tmp, result);
简单,不要?