C 来自用户输入的双指数

C 来自用户输入的双指数,c,exponent,C,Exponent,所以我的问题是关于双重的,我试图从用户处获取任何值的小数点输入,其指数也在小数点处,以在另一个函数中显示计算后的结果,其中变量将以双精度传递值,我也使用了双精度输出,但最终结果是1.00000,尽管我使用了输出说明符%lf% #include <stdio.h> double pwra (double, double); int main() { double number, power, xx; printf("Enter Number: "); sc

所以我的问题是关于双重的,我试图从用户处获取任何值的小数点输入,其指数也在小数点处,以在另一个函数中显示计算后的结果,其中变量将以双精度传递值,我也使用了双精度输出,但最终结果是1.00000,尽管我使用了输出说明符%lf%

#include <stdio.h>

double pwra (double, double);

int main()
{
    double number, power, xx;

    printf("Enter Number: ");
    scanf("%lf", &number);

    printf("Enter Number: ");
    scanf("%lf", &power);

    xx=pwra (number,power);

    printf("Result: %lf", xx);

    return 0;
} 

double pwra (double num, double pwr)
{
    int count;
    int result = 1;

    for(count=1;count<=pwr;count++)
    {
        result = result*num;
    }
    return result;
}
#包括
双pwra(双,双);
int main()
{
双倍数字,功率,xx;
printf(“输入编号:”);
scanf(“%lf”和编号);
printf(“输入编号:”);
扫描频率(“%lf”和功率);
xx=pwra(数量、功率);
printf(“结果:%lf”,xx);
返回0;
} 
双pwra(双数值,双pwr)
{
整数计数;
int结果=1;

对于(count=1;count您在
pwrs()函数中对
result
使用了错误的类型

更改:

int result = 1;
致:

请注意,如果您学习使用调试器,则很容易识别此类简单错误。进一步阅读:


还要注意的是,
pwr
应该是
int
,而不是
double
,因为你的函数只能处理整数指数。

欢迎使用StackOverflow,@TryllZ。你会发现,如果你将代码格式化为易于阅读,你会更快地得到更好的帮助。另外:你从来没有在这里真正问过问题,你只是做了一个统计嗯,对不起,我的印象是,同样的人会回答我之前的问题,无论如何,谢谢你,现在会编辑它。那些人可能会,但是人们(像我一样!)也可在网站首页或通过其他方式找到此问题。每个问题应尽可能独立,以确保(a)尽可能多的潜在回答者可以访问该问题,以及(b)对以后可能有相同问题的其他人尽可能有用。@Paul,我很抱歉,因为我不知道任何人都可以编辑我的代码,其次,我对编程和这方面的东西都是新手,请不要责怪我:)我几分钟前已经回答了你的问题(见下文)。为了将来的参考,请注意代码格式(没有人想调试一堆不可读的代码)而且你可能还想得到一个和。我尝试了这一次,结果是双精度和十进制值,但结果与计算器结果不同..?!,困惑..调试器没有显示错误..@TryllZ:调试器没有“显示错误”(崩溃除外)-你需要学习如何使用它来逐步检查你的代码,检查变量,从而理解为什么你的代码不能像你期望的那样工作-如果你想学习成为一名程序员,这是必不可少的。先生,我知道在鼠标悬停时的调试会及时显示变量中存储的值,但Qunicy没有鼠标悬停的功能在调试时调试和DEV C++的Curcess……除非你有一个工作调试器,否则你会发现编写代码相当困难。使用调试器的替代方法是添加战略<代码> Primtf>代码>语句来检查变量等,但是这比使用一个正确的调试器慢得多,而且更乏味。“…结果是双精度和十进制值,但结果与计算器结果不同”缺少有用的信息。说明1)输入、2)输出和3)预期输出更有用。
double result = 1.0;