c语言 void函数在main函数中使用的问题

本人写的一段单片机程序:在程序的开头申明了函数:void function(void);但是到了main()中为什么调用该函数时如果写成void function(void)是没有用的,而必须写成function()呢

声明和调用是两回事,声明void function(void) 括号中的void 是告诉编译器此函数没有参数,而调用时函数名后面的括号里放时的是参数,你这样去写,就相当前面说明了无参数,后面又给它一个参数,程序当然出出错了,另外调用时不写返回值的类型,因为在声明时已经写过了,这可能是编译器的规则,不知道你听明白了没?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-25
在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。
而void function(void)是既无参也无返回值函数
且void不能代表一个真实的变量 只起声明作用 抽象代表了任何一个变量都是“有类型”的
所以void不能被调用 它只作为 对函数返回的限定和对函数参数的限定
第2个回答  2012-09-25
void function(void)是函数的声明,也就是告诉计算机,有一个叫做function的函数。第一个void表示这个函数没有返回值,第二个void表示这个函数没有参数。
在需要使用这个函数的地方,只要写函数名+(参数)就可以了,因为不需要参数,所有()里面是空的。
第3个回答  2012-09-25
调用时不应该将函数的返回类型写出来,调用时只需要写函数名,参数表就行了,前面的void必须省去
第4个回答  2012-09-25
当然,在调用的时候直接写 方法名+传递的参数 就可以,定义方法的时候才写全 修饰符+方法名+参数
相似回答