请帮我看一下我的这个C语言程序哪里错了/* 编写计算m的n次方的递归函数,并写出主函数进行测试*/

#include <stdio.h>
#include <stdlib.h>
/* 编写计算m的n次方的递归函数,并写出主函数进行测试*/

int factor(int n ,int m)
{
int answer;
if(n=0)
return 1;
else
{

answer=factor(n-1,m)*m;
return answer;
}
}
int main(int argc, char *argv[]) {
int factor(int n,int m);
int n,m;
scanf("%d%d",&n,&m);
printf("%d",factor(n,m));

return 0;
}

 int factor(int n ,int m)
 {
  int answer;
  if(n==0)//<----------------
  return 1;
  else
   {

answer=factor(n-1,m)*m;
  return answer;
   }
 }
int main(int argc, char *argv[]) {
 int factor(int n,int m);
 int n,m;
 scanf("%d%d",&n,&m);
 printf("%d",factor(n,m));
 
 return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-06
计算m的n次方用得着递归么?用乘法循环n次不就行了么?递归效率低、耗内存,不建议用!
相似回答