C中正确的Hello World程序是什么?
由于"c hello world"的谷歌搜索结果的第一页差别很大,很多都是老C,我希望将标准版本放在一个地方,以便于复制和粘贴.
Aes*_*ete 77
取决于你是多么懒惰::)
#error Hello World
Run Code Online (Sandbox Code Playgroud)
Tor*_*erg 48
我相信这是C语言中的标准Hello World程序:
#include <stdio.h>
int main(void)
{
printf("Hello World\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*ler 16
在C99或C2011中,您可以使用以下五行代码:
#include <stdio.h>
int main(void)
{
puts("Hello World!");
}
Run Code Online (Sandbox Code Playgroud)
由于C99(但不是C89)允许您省略return 0;最后,它会向调用环境返回确定性状态0(成功).它没有任何未使用的函数参数.它有puts()标题的原型.输出包括适当的行结尾.我认为它是犹太洁食,而且基本上是最小的.
Fre*_*ihl 10
官方GNU Hello World可以在这里找到:http://www.gnu.org/software/hello/
GNU Hello程序产生熟悉,友好的问候语.是的,这是经典程序的另一个实现,它在您运行时打印"Hello,world!".
但是,与常见的最小版本不同,GNU Hello处理其参数列表以修改其行为,支持多种语言的问候语,等等.GNU Hello的主要目的是演示如何编写执行这些操作的其他程序; 它可以作为GNU编码标准和GNU维护者实践的模型.
GNU Hello是用C语言编写的.对于其他编程语言的实现,特别是包括翻译成其他语言,请参阅GNU Gettext发行版.
有不止一个,虽然Tor的答案很好,但我更喜欢总是使用argc/argv主函数.
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello World\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在一个罕见的,奇怪的事件中,printf正在检查失败,你可能会遇到
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
extern int errno;
extern FILE *stdout;
int main(int argc, char** argv)
{
errno = 0;
int err = printf("Hello World\n");
if (err < 0) {
return EXIT_FAILURE;
}
err = fflush(stdout);
if (err < 0 || errno != 0) {
return EXIT_FAILURE;
} else {
return EXIT_SUCCESS;
}
}
Run Code Online (Sandbox Code Playgroud)
像任何C程序一样,为了减少错误,它已被修改了太多次.特别感谢R ..,dmp和Scooter,他们真的应该获得比我能给予的更多信誉.
"官方"将是Kernighan和Ritchie在第一版"C程序设计语言"中的一个.
即:
#include <stdio.h>
main()
{
printf("hello, world\n");
}
Run Code Online (Sandbox Code Playgroud)