gpt4 book ai didi

c - printf 只给出警告

转载 作者:太空狗 更新时间:2023-10-29 15:13:22 25 4
gpt4 key购买 nike

谁能告诉我为什么包含 stdio.h 并且仍然使用 printf 函数只会在 gcc 上给出警告?

warning: incompatible implicit declaration of built-in function ‘printf’

这应该是一个编译错误,因为我们包含了一个未声明的函数。

这与链接程序有关吗?请详细说明。

最佳答案

当您不为您在代码中使用的函数提供签名时,编译器将(隐式地)对未知函数接受什么作为参数列表做出一些假设,并作为结果返回。

这些假设基于您对函数的使用,例如给定 printf("%s", (char *) string),编译器将决定 printf 是一个恰好采用 2 个 char * - 不是 可变参数列表 - 并返回 int

当这些假设与实际功能不兼容时,链接 过程中就会出现问题。

关于c - printf 只给出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11939971/

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