user-0 提问: 请教哪里有标准C的官方文档，我想整体全面学习标准C的所有函数，谢谢

回复:
user: user-1
content: https://www.iso.org/standard/74528.html

user: user-0
content: 引用 6 楼 均陵鼠侠 的回复:叽叽喳喳，答非所问，成何体统！ C标准是要收费的。C99的标准网上可以搜到，很多；C11最后提交的讨论草案是N1570，搜索N1570.pdf或者直接搜索C11；C18的可以搜索ansi 的C18，这个是ANSI的正版文档。 谢谢。 c18 搜不到，有官网吗？如果是付费下载，我可以付费的

user: user-2
content: 不要迷信书、考题、老师、回帖； 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实！

user: user-3
content: 互喷，而且只有互喷，才是我们事业进步的动力和法宝，才能使我们IT人永葆青春！

user: user-2
content: 只有互喷，才能增加CSDN C/C++论坛的热度。

user: user-3
content: 不，“屁话篓子”对你更精确一点。

user: user-3
content: 引用 16 楼 赵4老师 的回复:[quote=引用 15 楼 均陵鼠侠 的回复:][quote=引用 14 楼 赵4老师 的回复:]不要迷信书、考题、老师、回帖； 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实！  迷信CPU？有些CPU是有缺陷的； 迷信编译器？有些编译器是有BUG的； 迷信调试器？有些调试器会莫名其妙崩掉； 迷信运行结果？未定义的行为在不同的机器上有不同的结果，我该信哪一个呢？ 就在昨天，我听说你迷信的某些CPU被Linux剔除了。[/quote] 送你一个雅号——“杠精”[/quote]   我也送你一个雅号：屁话大王。

user: user-2
content: 引用 15 楼 均陵鼠侠 的回复:[quote=引用 14 楼 赵4老师 的回复:]不要迷信书、考题、老师、回帖； 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实！  迷信CPU？有些CPU是有缺陷的； 迷信编译器？有些编译器是有BUG的； 迷信调试器？有些调试器会莫名其妙崩掉； 迷信运行结果？未定义的行为在不同的机器上有不同的结果，我该信哪一个呢？ 就在昨天，我听说你迷信的某些CPU被Linux剔除了。[/quote] 送你一个雅号——“杠精”

user: user-3
content: 引用 14 楼 赵4老师 的回复:不要迷信书、考题、老师、回帖； 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实！  迷信CPU？有些CPU是有缺陷的； 迷信编译器？有些编译器是有BUG的； 迷信调试器？有些调试器会莫名其妙崩掉； 迷信运行结果？未定义的行为在不同的机器上有不同的结果，我该信哪一个呢？ 就在昨天，我听说你迷信的某些CPU被Linux剔除了。

user: user-1
content: 说到过时，  由于标准的向后兼容性，除了一些安全问题造成的特例以外，越老的标准写出来的代码其实就（在不同编译器和系统）越通用。 请注意我说的是标准，不是希望保留历史上遗留下来的糟粕级代码写法。  举个例子，如果你有很ANSI的习惯，在语句块开头集中声明局部变量，然后再开始写执行类语句，那么你就无需在这个问题上担心编译器种类和版本。

user: user-4
content: https://zh.cppreference.com/w/c/header 楼上网站的数据太老 早就过时了

user: user-5
content: https://www.runoob.com/cprogramming/c-standard-library.html

user: user-3
content: 计算机学术讨论组 312811740 这个群里有C标准文档。C18和C11差别不大，C18主要是对C11做了技术修正和澄清，没有加入什么新特性。当然，C18和C11还是有些问题的，比如原子类型和原子操作的表述还是有问题。下一个版本应该能解决。说到库函数，顺便说一下，C11删除了gets函数。

user: user-3
content: 引用 9 楼 oracleperl 的回复:[quote=引用 8 楼 均陵鼠侠 的回复:][quote=引用 5 楼 赵4老师 的回复:]MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix,  MSDN98_2.ISO  微软公司和C语言基本上是没啥关系了。从C99开始，就和C语言新标准分道扬鏣了。C++之类的，才是微软的亲儿子。[/quote] C程序，不都是可以用VS2010编译的吗？咋会没关系呢？[/quote]  VS2010支持的是C++吧，你该不会觉得它是C编译器吧。不过你可以试试下面的程序它能不能编译过去：  int main (void) {     printf (_Generic (666, int : (char []) {"int!"}, default : "Unknown."));     quick_exit (0); }

user: user-3
content: 引用 10 楼 oracleperl 的回复:[quote=引用 6 楼 均陵鼠侠 的回复:]叽叽喳喳，答非所问，成何体统！ C标准是要收费的。C99的标准网上可以搜到，很多；C11最后提交的讨论草案是N1570，搜索N1570.pdf或者直接搜索C11；C18的可以搜索ansi 的C18，这个是ANSI的正版文档。 请教，要收费的是啥意思啊？想看这个标准要付费吗？[/quote]  ISO/IEC 的标准文档，是需要花钱购买的，即使是PDF文件。折合人民币1500块吧。但是网上有草案，跟正式文档差不太多，可以参考。标准文档的后面就是C标准库，包含了所有标准库函数。标准里有的函数才是标准库函数，你从网上查的函数，如果是标准里没有的，就是野函数。

user: user-0
content: 引用 6 楼 均陵鼠侠 的回复:叽叽喳喳，答非所问，成何体统！ C标准是要收费的。C99的标准网上可以搜到，很多；C11最后提交的讨论草案是N1570，搜索N1570.pdf或者直接搜索C11；C18的可以搜索ansi 的C18，这个是ANSI的正版文档。 请教，要收费的是啥意思啊？想看这个标准要付费吗？

user: user-0
content: 引用 8 楼 均陵鼠侠 的回复:[quote=引用 5 楼 赵4老师 的回复:]MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix,  MSDN98_2.ISO  微软公司和C语言基本上是没啥关系了。从C99开始，就和C语言新标准分道扬鏣了。C++之类的，才是微软的亲儿子。[/quote] C程序，不都是可以用VS2010编译的吗？咋会没关系呢？

user: user-3
content: 引用 5 楼 赵4老师 的回复:MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix,  MSDN98_2.ISO  微软公司和C语言基本上是没啥关系了。从C99开始，就和C语言新标准分道扬鏣了。C++之类的，才是微软的亲儿子。

user: user-3
content: 叽叽喳喳，答非所问，成何体统！ C标准是要收费的。C99的标准网上可以搜到，很多；C11最后提交的讨论草案是N1570，搜索N1570.pdf或者直接搜索C11；C18的可以搜索ansi 的C18，这个是ANSI的正版文档。

user: user-2
content: MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix,  MSDN98_2.ISO http://pan.baidu.com/s/1bnGo0Vl