是否可以在不使用printf函数的情况下在C中编写“hello world”程序? (虽然仍然保持程序相对几行)
答案 0 :(得分:5)
这应该有效:
int main (void)
{
puts("Hello, World!");
return 0;
}
为什么不想使用printf?我想不出任何理由不这样做。
答案 1 :(得分:3)
write(stdout, "hello world", strlen("hello world"));
答案 2 :(得分:3)
这只是使用puts("hello world\n");
#include <stdio.h>
int main(void){
char *s="hello world\n";
while (*s) putchar(*s++);
}
答案 3 :(得分:2)
好吧,如果我们要包含愚蠢的例子(是的,我在看着你,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;
}
只是不要为真正长的字符串执行此操作,或者您发现Stack Overflow 真正的含义: - )