我在任何地方都看到“它实际上是相同的”,或者类似的东西......
来自GNU C 编程教程:
GNU C 库中还有一个名为 fgetc 的函数。它在大多数方面与 getc 相同,只是 getc 通常实现为宏函数并且经过高度优化,因此在大多数情况下更可取。(在您从标准输入读取的情况下,getc 与 fgetc 一样快,因为与计算机读取输入的速度相比,人类打字速度较慢,但是当您从非人类交互式生成的流中读取时, fgetc 可能更好。)
其他的区别是什么?我听说它们每个都有不同的实现(并且可以用作宏),但是,是什么让它们如此不同(或足够不同)以使它们都在标准 C 库(或规范)中?