我们可以在不指定 .h 扩展名的情况下使用头文件吗

Can we use a header file without specifying its .h extension

例如,我们可以在c中使用#include<stdio>代替#include<stdio.h>,并且我们可以使用用户定义的函数作为头文件而不指定其扩展名,并添加一个扩展名为.mp3的文件.

For example, [can we] use #include<stdio> instead of #include <stdio.h>

理论上,是的,编译器可以提供该功能。实际上,不,我从未遇到过让你这样做的 C 编译器。

你为什么要这样做?

can we used user defined function without specifying its extension

我不明白这个问题。

and add a file with .mp3 extension

没有什么可以阻止您将 C 程序保存到扩展名为 .mp3 的文件中,而不是 .c,如果您随后 运行 在这些文件上使用 C 编译器,它将可能会编译它们。但是,如果您尝试 运行 一个 C 编译器对一个实际上包含 MP3 格式录音的文件进行编译,我看不出它怎么可能完成任何有用的事情。