学长们求解答c语言函数声明问题

int main()和int main(int a,int b)有区别嘛
{
int a,b;
}
还有main()和printf()有什么区别
为什么同样是函数不能有
int printf()
{
}

这个printf和main函数是系统库的,要根据它给的参数填,你命名函数名的时候要避免重名,可能main(int a,int b),它以为你在定义个新函数,但printf绝对不行,因为你是在调用函数