当我一开始没有包含任何头文件时,编译器如何知道 sleep 函数甚至 printf 函数的原型?
此外,如果我指定sleep(1,1,"xyz")
或任意数量的参数,编译器仍会编译它。但奇怪的是 gcc 能够在链接时找到这个函数的定义,我不明白这怎么可能,因为实际sleep()
的函数只接受一个参数,但我们的程序提到了三个参数。
/********************************/
int main()
{
short int i;
for(i = 0; i<5; i++)
{
printf("%d",i);`print("code sample");`
sleep(1);
}
return 0;
}