我正在寻找C89/C90 standard的免费副本,但我无法在任何地方找到它!为什么这么难找?
C99和C11标准很容易在互联网上获得副本。即使在Stack Overflow问题中, Where do I find the current C or C++ standard documents? 和 The C Standard, Obtaining the Standard 也不包含我正在寻找的内容。
网络搜索既没有帮助,也没有 Open Standards 。
答案 0 :(得分:80)
你可以找到很好的HTML版本的C89,C99和C11,以及它们生成的一些官方草案PDF文件,在这里:
下面列出了C89 / C90,C99和C11标准的免费PDF文件的一些其他有用的直接链接:
C89 / C90:https://www.pdf-archive.com/2014/10/02/ansi-iso-9899-1990-1/ansi-iso-9899-1990-1.pdf
C99: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
C11: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
答案 1 :(得分:5)
我知道您还可以购买原始ANSI C89标准的官方 NON-DRAFT 版本。这一个地方是澳大利亚标准局。他们的C89网上商店链接在这里:
http://www.techstreet.com/standards/as-3955-1991?product_id=1178768
不要因为它被称为9899:1990这一事实而感到困惑,因为这只是ISO在1990年ISO从ANSI中吸收它时获得的ISO编号。并且也不会被澳大利亚标准所劝阻文件号是“AS 3955-1991”,因为1991年可能就是他们自己从ISO中吸收它的那一年。
请注意该页面上的摘要:
[Abstract]
Specifies the form and establishes the interpretation of programs written in
the C programming language. This Standard is identical with and has been
reproduced from ISO/IEC 9899:1990.
该文档确实是最初的ANSI C89标准,只是重新打印的形式。如果你有160.29美元用于分叉,你可以获得相同价格的PDF或印刷版的数字下载副本。
一旦你有了标准,那么所有修改和技术勘误都可以在这里找到,免费:
答案 2 :(得分:3)
来自GCC's online documentation的一些背景信息,以帮助澄清关键术语到底是什么:
最初的ANSI C标准(X3.159-1989)于1989年批准并于1990年出版。该标准于1990年后期被批准为ISO标准(ISO / IEC 9899:1990)。两者之间没有技术差异。这些出版物,虽然ANSI标准的部分重新编号,并成为ISO标准的条款。从批准之日起,这两种形式的标准通常称为C89,或偶尔称为C90。
最初作为评论here is a link发布到前面提到的标准ANSI C标准的草案。据我所知,草稿可以免费查看,正如@pmg所说的那样。