论坛: 编程破解 标题: 本版《此c错在哪?》中286和感觉者争论问题的最权威答案 复制本贴地址    
作者: NetDemon [netdemon]    ADMIN   登录
程序员们喜爱的一本书是《The C Programming Language》(Prentice Hall,1978年和1988年),由Brian W. Kernighan和Dennis M. Ritchie(亲切地称为K&R)编著。该书的第一章以一个显示「hello, world」的C语言程序开始。

这里是在《The C Programming Language》第一版第6页中出现的程式:

main ()
{
      printf ("hello, world\n") ;
}
以前C程式写作者在使用printf等C执行期程式库函数时,无需先宣告它们。但这是90年代,我们愿意给编译器一个在我们的程式中标出错误的机会。这里是在K&R第二版中修正的程式:

#include <stdio.h>
main ()
{
      printf ("hello, world\n") ;
}
该程式仍然是那么短。但它可通过编译并执行得很好,但当今许多程式写作者更愿意清楚地说明main函式的返回值,在这种情况下ANSI C规定该函式必须返回一个值:

#include <stdio.h>
int main ()
{
      printf ("hello, world\n") ;
      return 0 ;
}
我们还可以包括main的参数,把程式弄得更长一些,但让我们暂且这样就好了,-包括一个include宣告、程式的进入点、一个对执行期程式库函式的呼叫和一个return语句。

这就是21世纪初一个最简单的标准C程序!

人类在进步,你们的知识在提高,C,当然也不会一步不前


地主 发表时间: 04/12 02:51

回复: NetDemon [netdemon]   ADMIN   登录
对了,当我们把main()的参数弄进去,这就是一个最简单的Windows程序

#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("Hello, Windows!"), TEXT ("HelloMsg"), 0);
return 0 ;
}

B1层 发表时间: 04/12 02:57

回复: erifaw [erifaw]   论坛用户   登录
再加点类,或MFC什么的,
再加点消息事件,
然后加点socket,我很快就要开始了,,,

B2层 发表时间: 04/14 21:19

回复: 286 [unique]   版主   登录
只会看书,而不注重实际的人没必要谈什么进步。
早在1985年,我就曾在WAX小型机上编译通过我的第一个也是我认为最短的C语言程序:
main(){}
全程序只用的8个字符,
无任何编译错误,一切正常。



B3层 发表时间: 04/15 12:40

回复: NetDemon [netdemon]   ADMIN   登录
不好意思,我看你是砸脚了,我帖子的意思很明显,年代越前,越不需要宣告,而你的例子是1985年。当然,虽然标准定了,不过向前相容性也是要考虑的,就算是现在编译,也未必就不成功。

遗憾的是,我第一篇帖子的话不是我说的,因为我绝对不权威,那话是Stan Lippman说的,台湾不知哪个鸟人译的

因恐怕有些人不知道Stan是谁,我再解释一下,Stan 是Bell实验室中与Bjarne Stroustrup(C++的发明者)一起工作的早期成员之一,从1984年开始一直从事C++方面的工作,Stan曾经致力于原始C++编译器Cfront的各种实现,之后,他参与了Stroustrup领导的Foundation Research Porject项目中有关程序设计环境的对象模型部分。
stan lippman 现受雇于microsoft,成为Visual C++.Net的架构设计师。

我个人认为286这种认为Stan是自会看书,不注重实际的人的敢于挑战权威的勇气是可嘉的。也对当微软的C++.net的构架设计师在从事C++的研究工作的时候我们的286就已经在WAX小型机上写出这么个"程序"表示崇拜的。
恕本人愚昧,我不知道WAX是什么小型机,只认识VAX,也不认为main(){}这个什么都干不了的语句编译了之后可以叫做程序。

关于本人的看法有何不妥还请前辈指教


[此贴被 NetDemon(netdemon) 在 04月15日13时40分 编辑过]

B4层 发表时间: 04/15 13:34

回复: 286 [unique]   版主   登录
哈哈哈。。。。。。

富走阳关道,
穷走独木桥。
本来不相干,
何必穷牢骚。

见笑见笑。各位,为了给286点面子,不要财续此贴,让他沉下去吧。


B5层 发表时间: 04/16 13:17

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号