5

是否可以在不使用 printf 函数的情况下用 C 语言编写“hello world”程序?(同时仍然保持程序相对在几行)

4

4 回答 4

6

这应该有效:

int main (void)
{
    puts("Hello, World!");
    return 0;
}

你为什么不想使用printf?我想不出任何理由不这样做。

于 2013-02-10T04:57:30.613 回答
5

好吧,如果我们要包括愚蠢的例子(是的,我在看着你,科技龙),我会选择:

#include <stdio.h>

void makeItSo (char *str) {
    if (*str == '\0') return;
    makeItSo (str + 1);
    putchar (*str);
}

int main (void) {
    makeItSo ("\ndlrow olleH");
    return 0;
}

只是不要对非常长的字符串执行此操作,否则您会发现 Stack Overflow 的真正含义:-)

于 2013-02-10T06:41:01.057 回答
3
write(STDOUT_FILENO, "hello world", strlen("hello world")); 
于 2013-02-10T04:58:01.430 回答
2

这是一个荒谬的选择,而不是仅仅使用puts("hello world\n");

#include <stdio.h>
int main(void){
  char *s="hello world\n";
  while (*s) putchar(*s++);
}
于 2013-02-10T05:46:41.060 回答