比如%.3f, 其中的3有没有办法通过输入给变量赋值进行更改
主要明白printf的本质就好了,它其实就是个字符串而已,printf 查询到了、并能解析。
按照这个思路就可以解决问题。。。。
#include <stdio.h>
#define PRINT_FORMAT_FLOAT(x) "%."#x"f"
int main()
{
float a = 1.23;
printf("now print a: " PRINT_FORMAT_FLOAT(3) "\n", a);
int b = 4;
printf("%.*f\n", b, a);
return 0;
}
希望对你有所帮助,也能被你采纳,若有其他问题 ,欢迎随时交流~~~~
可以用文件的形式保存你需要指定输出个数,通过.格式控制位
char c[]="%.3f";
printf(c,1.123456);
printf的第一个参数就是个字符串,根据需要拼接好后传给它就行了
没试过,宏定义有可能好用。但不是变量。
好像没有