2388212840 发表于 2021-8-1 12:33:50

sle7课后作业问题

我将课后作业内的代码稍作修改后
#include <stdio.h>
#include <math.h>

int main()
{
        double a;

        printf("请输入一个数:");
        scanf("%.2f",&a);
       
        a = pow(a,5);
        printf("这个数的五次方是:%.2f\n",a);
       
        return 0;
       
}
这样之后,无论我输入什么数,结果输出的都是0.00

然后我又修改了一下
#include <stdio.h>
#include <math.h>

int main()
{
        long long a;

        printf("请输入一个数:");
        scanf("%d",&a);
       
        a = pow(a,5);
        printf("这个数的五次方是:%d\n",a);
       
        return 0;
       
}
改成long long后他又可以正常计算了
请大佬帮我解答一下,为什么第一个错误,而第二个是可以正常计算的

大马强 发表于 2021-8-1 12:33:51

第一个是输入赋值那里有问题,double型需要 %lf,不是 f,输出也是,除了%d,其他%lf和%f是可以的
参考这里https://blog.csdn.net/climbingLei/article/details/76249296?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162779267216780265438336%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162779267216780265438336&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-76249296.first_rank_v2_pc_rank_v29&utm_term=c%E8%AF%AD%E8%A8%80%E7%9A%84pow&spm=1018.2226.3001.4187

大马强 发表于 2021-8-1 12:45:40

格式化输入输出多看几遍就熟悉了

2388212840 发表于 2021-8-1 12:48:38

大马强 发表于 2021-8-1 12:43
第一个是输入赋值那里有问题,double型需要 %lf,不是 f,输出也是,除了%d,其他%lf和%f是可以的
参考这 ...

已经了解了,但还是很感谢帮助
页: [1]
查看完整版本: sle7课后作业问题