永发信息网

c语言问题,求改正~

答案:2  悬赏:10  手机版
解决时间 2021-03-17 16:59
  • 提问者网友:欲劫无渡
  • 2021-03-16 17:57
c语言问题,求改正~
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-03-16 18:13
1.
#include
int main()
{
int interPower1(int base,int exponent);
int base,exponent,baseexponent;

printf("enter a number:");
scanf("%d",&base);
printf("enter a second number:");
scanf("%d",&exponent);
baseexponent=interPower1(base,exponent);//将结果赋给baseexponent
printf("the number is %d\n",baseexponent);
return 0;
}

int interPower1(int base,int exponent)
{
int baseexponent=1,i;//baseexponent赋初值1,i不必,y多余变量去掉
for(i=1;i<=exponent;i++)
baseexponent=base*baseexponent;
return baseexponent;
}

2.
#include
int main()
{
int interPower(int base,int exponent);
int base,exponent,baseexponent;
printf("please enter a number:");
scanf("%d",&base);
printf("please enter another number:");
scanf("%d",&exponent);
baseexponent=interPower(base,exponent);//加这一句
printf("the result is %d\n",baseexponent);

return 0;
}
int interPower(int base,int exponent)
{//函数部分更改为如下
return exponent==1?base:base*interPower(base,exponent-1);
}
全部回答
  • 1楼网友:行雁书
  • 2021-03-16 18:45
这种错误很好找的。因为你有输入数据。只需要用编译器单步调试,然后看看执行到那一句时变量的值和你想的值不一样就可以了。设置断点,然后单步跟踪调试是一个程序员的基本功。加油!!!!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯