问题遇到的现象和发生背景
比如%.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;
}
希望对你有所帮助,也能被你采纳,若有其他问题 ,欢迎随时交流~~~~