求助,%f为什么不能换成%d呢?
#include <stdio.h>int main()
{
unsigned long long i;
double result;
printf("请输入一个整数:");
scanf("%d",&i);
result = pow(i,5);
printf("%d的五次方是:%.1f\n",i,result);
return 0;
}
这个是打印五次方,请问最后printf里的%.1f为什么不可以换成%d呢,%d不是用来输出十进制整数的吗? 因为 %.1f 这里的.1就代表的保留小数点后一位的意思,那么肯定不能用%d了,除非你把 %.1f 直接改为%d result 你定义为一个双精度浮点,当然不能用整型输出了 本帖最后由 额外减小 于 2022-8-30 19:00 编辑
但有一种方法。
#include <stdio.h>
int main()
{
unsigned long long i;
double result;
printf("请输入一个整数:");
scanf("%d",&i);
result = pow(i,5);
printf("%d的五次方是:%d\n",i,(int)result);
return 0;
}
强行用整型输出
如果,你的result不是一个整数,那就会取整
题外话
我对你声明的数据类型非常不解。
为什么你的底数要用无符号长长整型来存,这不是有点浪费空间吗
另外!
你的<math.h>忘记了,pow是定义在这个库里的 非常感谢,我刚开始学习编程大概一周左右,有很多不理解的地方,现在我的问题已经解决啦,感谢你还指出了我没注意到的地方,非常感谢 南风知我意` 发表于 2022-8-30 19:33
非常感谢,我刚开始学习编程大概一周左右,有很多不理解的地方,现在我的问题已经解决啦,感谢你还指出了我 ...
一起努力{:10_256:}
页:
[1]