功能“pwr()”无法正常工作

时间:2018-04-15 07:53:25

标签: c

我是C的新手并且正在创建一个函数“pwr()”来将数字提升到幂,这两个数字都在括号内的程序中指定。出现一个空白屏幕,或者它分别给出“第一个数字”和“第二个数字:”的值0和1。

#include<stdio.h>
int pwr( int, int);

int main(){
int num, numn;
num == pwr(5,2);
numn == pwr(2,5);
printf("First Number:%d\n",num);
printf("Second Number:%d\n", numn);
return 0;
}

int pwr(int c,int pr)
{
int res = 1;
int i=0;

if(pr<0){
    printf("Imaginary\n");
    return 0;

}
for(i=0;i=pr;i++){
    res = res*c;
}
return res;
}

有人可以告诉我我的错误。

2 个答案:

答案 0 :(得分:1)

更改:

num == pwr(5,2);
numn == pwr(2,5);

致:

num = pwr(5,2);
numn = pwr(2,5);

并且:

for(i=0;i=pr;i++){
    res = res*c;
  }

致:

for(i=0;i<pr;i++){
        res = res*c;
      }

答案 1 :(得分:1)

更改这些行

num == pwr(5,2);
numn == pwr(2,5);

num = pwr(5,2);
numn = pwr(2,5);

因为 == 等于运算符而 = 是一个assingment运算符。 这里将函数的返回值赋给变量。

并更改这些行

 for(i=0;i=pr;i++){
   res = res*c;
 }

for(i=0;i<pr;i++){
  res = res*c;
}

因为将第一个值(c)加电到第二个值(pr) 注意:所以乘以c - &gt; pr次