为什么我的程序中的函数仍在运行而不包含我的库头文件

问题描述 投票:0回答:1

我的项目有 3 个文件,分别是 main.c 和我的库的 2 个文件(increase.h 和increase.c)。在我的main中,这是我在increase.c中编写的函数,当我在main中删除#include“increase.h”时,我预计程序会崩溃,但不知何故它仍然给出了我的正确答案。 (https://i.stack.imgur.com/Z5aM3.png) (https://i.stack.imgur.com/nF7Af.png) (https://i.stack.imgur.com/GsjJ2.png) 这是我的程序, (https://i.stack.imgur.com/hMATk.png) 这就是我运行程序后发生的情况

我的程序非常简单,但我仍然不知道出了什么问题

c header dev-c++
1个回答
0
投票

我预计程序会崩溃,但不知何故它仍然给出了我的正确结果 回答。

因为您没有函数原型,所以编译器正在使用隐式返回和参数类型,即

int
。当你的函数返回
int
并接受
int
参数时 - 它工作得很好。

尝试将指针传递并返回到 int 或 double,你的程序将调用未定义的行为,并且很可能停止正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.