请问大家这几个函数有区别吗?

int main()
int main(void)
void main
{int dogs;
printf("how many dogs you have?\n");
scanf("%d",&dogs);
printf("so you have %d dog(s)!\n",dogs);
return 0;
}
这三个函数头有区别吗?同样的一段程序,我用这三个输出结构都相同,它在后期编程上有明显的差别吗?

int需要返回值,viod不用返回值 ,其他没啥区别,都是一样可以运行的
int main(void) 指的是此函数的参数为空,不能传入参数,如果你传入参数,就会出错。
int main() 表示可以传入参数。
void main 不用返回值

没啥区别,int main要返回值,如果不想返回,就用int main(void).void main也可以