以下是引用TonyDeng在2011-8-12 15:58:40的发言:
2:调用函数问题! 普通函数怎么去调用main()?我用了上千遍指针 依旧如山 惭愧啊
程序中没有任何函数可以调用main(),这个是约定的程序主入口,就如宇宙大爆炸的爆炸原点,一切的起点,在它之前没有任何东西是你这个程序的。唯一调用main()函数的,是操作系统!你编写的程序,不过是操作系统这个大程序下面的一个函数,是它在调用main()。
你看到论坛上有人问那个DOS批处理是怎么回事的帖子吗?我告诉你怎么用:写一个程序test,编译为exe文件,它的main()有返回值,比如0或1,好,然后在那个批处理命令文件中写:
test
if errorlevel 1 notepad
把这两行文本存储为go.bat,然后在Cmd窗口中键入go执行这个批处理文件,那么,如果你的test程序通过main()返回1时,就会启动notepad记事本程序,否则没有动作。这就是main()返回值的作用,操作系统就是这样使用这个返回值。
#include <stdio.h>
int (*fun)(int ) ;
int main( int a )
{
fun = main ;
( a <= 1000 ) && printf("%d ", a ) * fun( a + 1 ) ;
return 0 ;
}