【问题标题】:Why am I getting 0 as the output? Shouldn't it be 40? [duplicate]为什么我得到 0 作为输出?不应该是40吗? [复制]
【发布时间】:2018-03-09 17:05:48
【问题描述】:

为什么下面的代码输出的是 0 而不是 40?

#include <stdio.h>

int main()
{
    int volume;

    int length = 5;
    int width = 8;

    volume = length * width;
    printf("%f", volume);
    return 0;
}

【问题讨论】:

  • 阅读printf 格式说明符。
  • 欢迎来到本站!查看tourhow-to-ask page 了解更多关于提出问题以吸引高质量答案的信息。您可以edit your question 提供更多信息。
  • 如果你想打印它是一个浮点数(使用 %f 说明符),那么你需要在 printf 语句中将大小写为浮点数,如下所示:(float) volume
  • 使用 printf("%d", volume);得到 40 而不是 0 :)
  • 你也可以写成printf( "%f", (double)volume );

标签: c


【解决方案1】:

变量“volume”是 Integer ,您需要在 printf 函数中将用于 float 变量的 %f 更改为用于 print Integer 变量的 %d 。

【讨论】:

    【解决方案2】:

    一个变量的声明是int volume;,并且您正在通过格式说明符%f 打印它,它属于浮点类型的变量。类型转换需要(float)volume。在 C 编程中,它发生了很多,因为编译器依赖出现了。

    【讨论】:

      猜你喜欢
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 2022-12-06
      • 1970-01-01
      相关资源
      最近更新 更多