gpt4 book ai didi

c - printf 在类型与类型说明符不匹配的情况下如何工作?

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:40 24 4
gpt4 key购买 nike

int main()
{
printf("%c", "\n");

return 0;
}

根据类型说明符,这里需要一个字符。但是我们传递给它 const char *。我希望它会在代码块 GNU GCC 编译器中给我一条警告消息,但它没有给我任何警告并打印 $ 字符。

为什么它不给出任何类型的警告?

最佳答案

您需要启用该警告。

将您的代码编译为 test.cpp并添加 #include <stdio.h>对于 printf在 gcc 4.7.2 下使用正确的警告标志:

$ gcc -c -Wformat test.cpp
test.cpp: In function 'int main()':
test.cpp:5:18: warning: format '%c' expects argument of type 'int', but argument 2 has type 'const char*' [-Wformat]

关于c - printf 在类型与类型说明符不匹配的情况下如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com