c - 使用 printf 时如何捕获丢失的参数?

标签 c

在下面的程序中,调用函数printf时缺少一个参数,这会导致运行时行为不统一,但编译时不会给出警告。

#include<stdio.h>

int main(void)
{
    int a = 1;

    printf("%d:this is for test:%s",a);
    return 0;
}

如何在编译时捕获此错误?

最佳答案

使用gcc -Wall
进行编译 对于这种情况,警告如下:警告:格式“%s”需要匹配的“char *”参数[-Wformat=]

关于c - 使用 printf 时如何捕获丢失的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43752641/

相关文章:

c - ollydbg 中有很多 'printf',但 a.exe 中只有一个 'printf'

c++ - 打包结构/避免填充

c - 在 C 中使用 malloc 时是否需要类型转换?

c - 通过结构别名数组

c - 3 位数字的缓冲区

c - 为什么我在 C 中得到一个意外的端口值?

c++ - MySQL 连接器/C++

c - MPI 发送和接收(多对多)

c - 这个代码片段具体做了什么?

c - 如何将 double 传递给在 C 中采用空终止字符串的函数?