如何避免关于类型的printf警告

时间:2011-08-02 14:47:12

标签: c gcc warnings printf

我想知道是否有一种很好的方法可以避免gcc尖叫关于printf类型: 'warning:format'%d'需要'int'类型的参数,但参数12的类型为foo'

当你知道你在某处写了'typedef int foo'时,这很烦人。

当然,我不是在寻找gcc修复版([-Wformat])。

我想知道是否有一种方法可以避免警告而不是每次都进行投射!

2 个答案:

答案 0 :(得分:8)

如果你有typedef int foo,gcc不应该警告你。如果gcc 警告您,那么foo确实不是整数。

答案 1 :(得分:0)

这有完全未定义的行为。 请勿使用!

char *fmt;
fmt = "%d%f%p%u\n";
printf(fmt, 1, 1, 1, 1, 1, 1, 1, 1, 1); /* fill stack with values */