谁知道这个程序为什么没定义函数都可以运行?

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:22:02
#include "stdio.h"
int x;
int main(void)
{
printf("\n%d",x);
fun1();
fun1();
fun2();
fun1();
fun2();
return(0);
}
fun1()
{
int y=5;
y++;x++;
printf("\nx=%d,y=%d",x,y);
}
fun2()
{
x--;
printf("\nx=%d",x);
}

此程序中的fun1,fun2都没有定义,却为什么能运行下去?
我的意思是:为什么在主函数前或主函数里没有说明函数,就可以运行呢?一般不是会出现错误吗?

fun1()
{
int y=5;
y++;x++;
printf("\nx=%d,y=%d",x,y);
}
fun2()
{
x--;
printf("\nx=%d",x);
}

这不就是定义吗

函数默认是int型的,有些机器上不需要定义也能执行,要是void或其他类型就不行了