需要调用void 函数时,如果main写在最前面,怎么定义该函数啊?可以参照下程序解释,万分感谢。。。

#include"stdio.h"
void moveone(char from,char to){
printf("%c->%c\n",from,to);
}
void henoi(int n,char from,char to,char by){
if(n==1) moveone(from,to);
else {
henoi(n-1,from,by,to);
moveone(from,to);
henoi(n-1,by,to,from);
}
}
int main(){
henoi(4,'a','b','c');
return 0;
}
//如果把main写到前面???
也就是
int main(){
henoi(4,'a','b','c');
return 0;
}
里边被调函数的类型,不写编译后是错的

嗯,函数必须有返回值类型,void的意思是没有返回值,就是函数没返回值时,不是省略而是用它来代替!
C++是面向过程的语言,会从上到下依次执行,如果main函数写在最前面那其调用的函数就需先声明才行。
#include"stdio.h"
void henoi(int i,char a,char b,char c);//声明函数

int main(){
henoi(4,'a','b','c');
return 0;
}
void moveone(char from,char to){
printf("%c->%c\n",from,to);
}
void henoi(int n,char from,char to,char by){//定义函数
if(n==1) moveone(from,to);
else {
henoi(n-1,from,by,to);
moveone(from,to);
henoi(n-1,by,to,from);
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答