正确的你好,世界!在 C 中 [已关闭]

问题描述 投票:0回答:10

正确的“你好,世界!”是什么? C 语言程序?

由于 “c hello world”的 Google 结果的第一页差异很大,而且许多都是旧的 C,我希望将标准版本放在一个地方,以便于复制和粘贴。

c
10个回答
86
投票

取决于你有多懒::)

#error Hello World

53
投票

我相信这是 C: 中的标准 Hello World 程序

#include <stdio.h>

int main(void)
{
  printf("Hello World\n");
  return 0;
}

18
投票

在C99或C2011中,你可以使用这五行代码:

#include <stdio.h>
int main(void)
{
    puts("Hello World!");
}

由于 C99(但不是 C89)允许您省略末尾的

return 0;
,因此它向调用环境返回确定性状态 0(成功)。 它没有任何未使用的函数参数。 它具有标题中
puts()
的原型。 输出包括适当的行结尾。 我认为这是犹太洁食,而且本质上是最小的。


11
投票

不止一个,虽然 Tor 的答案很好,但我更喜欢始终使用 argc / argv 主函数。

#include <stdio.h>

int main(int argc, char** argv)
{
  printf("Hello World\n");
  return 0;
}

在检查 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;
  }
}

像任何 C 程序一样,它已经被修改了太多次,试图减少它的错误。 特别感谢 R..、dmp 和 Scooter,他们真的值得我给予更多的赞扬。


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 发行版。


5
投票

“官方”版本是 Kernighan 和 Ritchie 所著的《C 编程语言》第一版中的版本。

#include <stdio.h>
main()
{
    printf("hello, world\n");
}

4
投票
#include <stdio.h>

int main()
{
  printf("Hello World\n");
  getchar();
  return 0;
}

3
投票

“正确”是什么意思?

我认为这个是最正确的,因为它没有遗漏任何东西:

#include <stdio.h>

#ifndef HELLO_STRING
#define HELLO_STRING "Hello, world!"
#endif

int main(int argc, char *argv[], char *envp[])
{
    puts(HELLO_STRING);
    return 0;
}

但是,这个程序没有本地化;如果你想要本地化,那么使用“libintl”。


2
投票
$ cat hello.c
#include <stdio.h>

int main(void)
{
    printf("Hello world!\n");
}

$ c99 hello.c
$ ./a.out
Hello world!
$

-1
投票

然后是:

#include <stdlib.h>

int main()
{
  system("echo Hello World!");
  return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.