关于C语言中printf(“%f”,5/4)的愚蠢问题

关于C语言中printf(“%f”,5/4)的愚蠢问题,c,C,它打印出0.000000 我估计是1.2500000000 我是c语言新手,对数学和编程没有任何基础 但我猜%d从后面取一个数字数据只取一个整数 所以它不需要任何数据,所以返回值仅为0.0000000 是否正确?您正在执行整数除以5/4,并尝试以浮点形式打印结果。所以这种行为是模棱两可的。您可以尝试此操作以获得所需的结果: printf("%f",(float)5/4); 您正在按5/4进行整数除法,并尝试以浮点形式打印结果。所以这种行为是模棱两可的。您可以尝试此操作以获得所需的结果: pri

它打印出0.000000

我估计是1.2500000000

我是c语言新手,对数学和编程没有任何基础

但我猜%d从后面取一个数字数据只取一个整数

所以它不需要任何数据,所以返回值仅为0.0000000


是否正确?

您正在执行整数除以
5/4
,并尝试以浮点形式打印结果。所以这种行为是模棱两可的。您可以尝试此操作以获得所需的结果:

printf("%f",(float)5/4);

您正在按
5/4
进行整数除法,并尝试以浮点形式打印结果。所以这种行为是模棱两可的。您可以尝试此操作以获得所需的结果:

printf("%f",(float)5/4);

5/4是整数除法,因此结果为1.%f需要一个float,而不是int,因此它不会显示任何有意义的内容。但它不会知道它是一个整数,它会把它当作一个浮点,并根据它输出。expr:int/int->int5/4是整数除法,所以结果是1f需要一个float,而不是int,因此它不会显示任何有意义的内容。但它不会知道它是一个int,它会把它当作一个浮点,并基于它进行输出。expr:int/int->int