在不提供格式(例如%d,%f)的情况下在printf中使用变量是否合法。 例如:
printf("value is ok\r\n",myvalue);
该命令编译时没有错误也没有警告,但我不能确定它是合法的还是危险的。
答案 0 :(得分:1)
这些参数应至少与格式说明符中指定的值的数量一样多。函数忽略了其他参数。
根据这些信息,您的陈述是完全合法的,但我不认为这是一个好主意,因为您的代码很快就会变得混乱,这可能会导致错误。
编辑:原始来源未明确提及零参数的情况。要添加其他来源,linux man pages州
格式字符串由零个或多个指令组成。
此来源不讨论其他参数会发生什么。但是,结合这两个来源给出了明确的答案。