首页 文章

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

提问于
浏览
1

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

当你知道你在某处写了'typedef int foo'时,这真是太烦人了......

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

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

2 回答

  • 0

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

  • 8

    这到处都有未定义的行为 . Do not use!

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

相关问题