是否有可能以编程方式推断数据类型的格式说明符?例如,如果打印是针对长整型的,则自动执行以下操作:
printf("Vlaue of var is <fmt_spec> ", var);
我认为这样做可以减少开发者的一些错误,例如:
printf("Name is %s",int_val); //Oops, int_val would be treated as an address
printf("Name is %s, DOB is",name,dob); // missed %d for dob
printf("Name is %s DOB is %d", name);//Missed printing DOB
我知道后面两个选项确实有警告,但是如果出现错误会不会更好,因为在大多数情况下这将是有问题的?或者我是否遗漏了什么或者已经有已经存在的结构来做到这一点?