1. 程式人生 > >函式宣告帶引數與不帶引數區別

函式宣告帶引數與不帶引數區別

說說下面兩段程式碼的差異:

程式碼一

void fun()
{
printf("hello\n");
}


int main()
{
   fun(1,2);
  
  return 0;
} 

程式碼二

void fun(void)
{
printf("hello\n");
}


int main()
{
   fun(1,2);
  
  return 0;
} 

程式碼一編譯通過,執行沒有問題,輸出hello;

程式碼二編譯錯誤error: too many arguments to function ‘fun’

這說明了,宣告或者定義函式介面的時候如果沒有帶有引數,編譯器不會主動檢查引數是否合法,

因此,程式設計的時候,規範的用法是都需要加入引數,編譯器才會檢查引數是否合法,好的程式碼從

小地方做起,這樣才不會引入一些莫名其妙的問題!