我编写了两个函数来查找c中的正数和负数的幂,但是它没有打印任何内容
#include<stdio.h>
int Driver(int NUMBER, int EXPO, int ans){
while(EXPO>0)
{
ans = ans*NUMBER;
EXPO--;
}
return ans;
}
void Calculate_pos_power(int number, int expo)
{
int NUMBER = number;
int EXPO = expo;
unsigned long long int ans = 1;
unsigned long long int xxx=Driver(NUMBER,EXPO, ans);
printf("Answer is : %llu ",xxx);
printf("\n");
}
void Calculate_neg_power(int number, int expo)
{
int NUMBER = number;
int EXPO = expo;
long long int ans = 1;
long long int xxx = Driver(NUMBER,EXPO, ans);
int Driver(NUMBER,EXPO, ans);
printf("Answer is : %lli ",xxx);
printf("\n");
}
int main()
{
int number;
int expo;
printf("Enter the number\n");
scanf("%d",&number);
printf("Enter the exponent\n");
scanf("%d",&expo);
if(number<0)
{
void Calculate_neg_power(number,expo);
}
else{
void Calculate_pos_power(number,expo);
}
return 0;
}
我希望当number小于0时,答案应为long long int;当大于0时,答案应为unsigned long long int。 但它不返回任何值
答案 0 :(得分:0)
在main
中:
void Calculate_neg_power(number,expo);
不是调用函数的正确方法。
您应该将其更改为:
Calculate_neg_power(number,expo);
Calculate_pos_power
也是如此。
答案 1 :(得分:0)
您实际上并不是在调用函数:
if(number<0)
{
void Calculate_neg_power(number,expo);
}
else{
void Calculate_pos_power(number,expo);
}
这些是函数声明,而在那是无效的。
在调用函数时,请勿在返回类型前加上前缀。
if(number<0)
{
Calculate_neg_power(number,expo);
}
else{
Calculate_pos_power(number,expo);
}
您在其中一个未执行任何操作的函数中也有一个类似的声明:
int Driver(NUMBER,EXPO, ans);
可以将其删除。