printf:提供没有格式化的变量

时间:2017-08-29 09:06:20

标签: printf

在不提供格式(例如%d,%f)的情况下在printf中使用变量是否合法。 例如:

 printf("value is ok\r\n",myvalue);

该命令编译时没有错误也没有警告,但我不能确定它是合法的还是危险的。

1 个答案:

答案 0 :(得分:1)

reference

  

这些参数应至少与格式说明符中指定的值的数量一样多。函数忽略了其他参数。

根据这些信息,您的陈述是完全合法的,但我不认为这是一个好主意,因为您的代码很快就会变得混乱,这可能会导致错误。

编辑:原始来源未明确提及参数的情况。要添加其他来源,linux man pages

  

格式字符串由零个或多个指令组成。

此来源不讨论其他参数会发生什么。但是,结合这两个来源给出了明确的答案。