回答同上
你写的没有错,void
butler(void)就是一个自定义的函数原型,前一个void表示butler()函数不返回一个值,后一个void则是表示不接受任何形式的参数
void是空类型,不能有返回值的,要么就直接一个return,不要任何东西.要么就不写return.0是整数型的,要返回0就把函数的类型改为int
能
void butler(void)
{
int qwe;
printf("How many pig do you have?\n");
scanf("%d",qwe);
printf("I have %d pigs\n",qwe);
}
因为你调用butler时没有加括号,butler; 不加括号的函数名就仅仅是个地址而已,就会被编译器忽略掉
加上括号就好:
butler(); //butler函数调用
butler; //butler仅仅是个地址
void xh (void) /*循环示例程序段*/
{/*xh函数体开始*/
int num;
scanf("%d",num); // 这里你写成了%i\n,修改为%d
{/*while循环体开始*/
printf("%d\n",num); // 这里你写成了%i,修改为%d
num = num + 1;
}/*while循环体结束*/
}/*xh函数体结束*/
,butler
的函数原型中,第一个
void
指明
butler
函数没有返回值;第二个
表明
没有参数,也就是不接收任何参数.在
main
函数前面写了
的函数原型后,当
函数调用
时,编译器就能检测到
函数调用语句是否正确.如果
函数前面没有
的函数原型,那么我们就不能在
函数中调用
函数,除非我们把函数定义放在
函数之前.不过把函数定义置于
函数之前是一种不好的编程风格,因为这将导致我们花不少时间来寻找
函数的所在地.想象一下,如果我们写了几十个函数,如果每个函数定义都置于
函数之前,那样
函数还算好找;但是如果我们不小心把某些函数放在了
函数后面,也就是说
函数被放在一堆函数中间,那就很难找了!
以上就是土嘎嘎小编为大家整理的C语言butler函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!