函数声明带参数与不带参数区别

说说下面两段代码的差异:


代码一

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’

这说明了,声明或者定义函数接口的时候如果没有带有参数,编译器不会主动检查参数是否合法,

因此,编程的时候,规范的用法是都需要加入参数,编译器才会检查参数是否合法,好的代码从

小地方做起,这样才不会引入一些莫名其妙的问题!


你可能感兴趣的:(C语言)