tuzzzzi 2022-09-08 19:38 采纳率: 50%
浏览 38
已结题

C语言输出,数据问题

问题遇到的现象和发生背景

刚刚开始C语言学习,根据编程题求球的体积而衍生出来的问题

问题相关代码,请勿粘贴截图

#include <stdio.h>
#include <windows.h>
#define SCALE (4.0f * 3.1415926 / 3.0f)
int main()
{
int r = 10;
printf("volume = %f\n", r 的三次方(AI助手不允许我多次出现r) * SCALE);
system("pause");
return 0;
}

运行结果及报错内容

此程序正常运行
但问题是当我将%f 改为%d后
输出结果 volume = 1177393702

我的解答思路和尝试过的方法

我将3.1415926变更为3 但此时输出结果为0

我想要达到的结果

对此我存在疑惑,在搜索无果后,希望可以得到一些帮助,同时我也想理解一下 printf("%d“,a)中 ,a 的含义
因为我是刚刚开始入门所以问题可能在一些能力强的人眼里很简单,如果您不愿意帮助我就当看个笑话,勿恶意评论嘲讽;如果愿意,很感谢您对我的帮助
谢谢

  • 写回答

4条回答 默认 最新

  • _GX_ 2022-09-08 19:48
    关注

    printf()输出格式中%f需要对应输出数据类float, %d对应输出数据类型int,由于你的程序计算结果是float类型,你不能将%f改为%d,否则的话,显示结果就可能是无意义的数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月16日
  • 已采纳回答 9月8日
  • 创建了问题 9月8日