分享
三行代码  ›  专栏  ›  技术社区  ›  IdotEXE

为什么pow在使用%f时输出0?

pow c
  •  0
  • IdotEXE  · 技术社区  · 6 天前

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
    
        printf("%f", pow(4, 3));
    
    
    
        return 0;
    }
    

    输出

    0.000000
    
    1 回复  |  直到 6 天前
        1
  •  8
  •   Eric Postpischil    6 天前

    #include <math.h> ,在编译器中打开警告,注意警告消息,并将警告升级为错误。

    没有 <math.h> , pow pow(4, 3) 将参数传递为 int 战俘 需要将其参数作为 double ,将它们作为 内景 不是由C标准定义的。此外,返回类型 将假定为 内景 printf 转换 %f 还具有C标准未定义的行为。

        2
  •  0
  •   fares    6 天前

    如果您在linux中工作,并且希望插入#include<math.h>不要忘记编译 用-lm连接数学图书馆和顺便说一下,如果你想用浮点数 尝试使用功率语法浮动功率(float_uuuuuux,float_uuuuuuy);。