我想知道是否有一种很好的方法可以避免gcc尖叫关于printf类型: 'warning:format'%d'需要'int'类型的参数,但参数12的类型为foo'
当你知道你在某处写了'typedef int foo'时,这很烦人。
当然,我不是在寻找gcc修复版([-Wformat])。
我想知道是否有一种方法可以避免警告而不是每次都进行投射!
答案 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 */