我经历了各种各样的问题,但我的任务是在没有main()
的情况下得到一个quine问题,并且也禁止循环。
没有循环,很容易,但我无法弄清楚如何在没有main()
的情况下编写一个。有人可以帮我或给我一个链接吗?
答案 0 :(得分:3)
如果没有main()
功能,则无法创建(非独立式)C程序。因此,在通常意义上,在没有main()
的情况下在C中创建一个quine是不可能的。
也就是说,根据你如何定义一个quine,你可能能够构造一个无法编译的源文件,但编译错误(在某个特定的编译器上)是源文件的内容。 / p>
答案 1 :(得分:1)
第一件事是无法在没有main
函数的情况下编写程序,因为编译器总是从main()
函数开始执行,没有main
函数链接器不会知道数据段的开始。
是的,但是使用预处理器的一些技巧你可以做到,但这不是一个很好的方法。
http://www.gohacking.com/2008/03/c-program-without-main-function.html
这可能会对你有帮助。
看看这里:
答案 2 :(得分:0)
#include <stdio.h>
int
foo(void) {
printf("pong!\n");
return 0;
}
int main() __attribute__((weak, alias("foo")));
有main()声明,但没有定义。