为什么5/7打印0?

Ada*_*III 2 c math division integer-division

我刚开始学习C,我了解到/符号是除法运算符.我在试验,并想知道为什么5/7 printf数字0.

这是我的计划:

#include<stdio.h>

main()
{
    int n;
    n = 5/7;
    printf("%d", n);
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

C_I*_*ner 7

这是因为整数除法. 5/7make 0.71..,并且这个数字的整数部分是0,因此它打印0.要解决此问题,请使用floattype(或double类型)变量以及常量,例如try:

float f = 5.0 / 7.0;
Run Code Online (Sandbox Code Playgroud)

print f格式字符串变量%f