我是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;
}
有人可以告诉我我的错误。
答案 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次