为什么答案结果是0而不是0.009?

A J*_*A J -1 c operators

#include <stdio.h>
#define KILOMETRE 9

main()
{
    float metre = KILOMETRE / 1000;
    printf("%f\n", metre);
}
Run Code Online (Sandbox Code Playgroud)

答案应为0.009,因为9/1000 = 0.009

但在执行程序后,输出结果为0.00.

请帮忙.:d

Vla*_*cow 7

在这个表达中

KILO/1000
Run Code Online (Sandbox Code Playgroud)

两个操作数都是整数.因此,整数值的操作结果等于0.

你可以改写

KILO/1000.0f
Run Code Online (Sandbox Code Playgroud)

在这种情况下,编译器将处理浮点数.

考虑到根据C标准函数main,没有参数应该声明为

int main( void )
Run Code Online (Sandbox Code Playgroud)