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

まあ、ばかげた例を含めるつもりなら(はい、私はあなたを見ています、technosauraus)、私は一緒に行きます:

#include <stdio.h>

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

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

本当に長い文字列に対してこれを行わないでください。そうしないと、StackOverflowが実際に何を意味するのかがわかります:-)

于 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 に答える