刚开始学C,才知道/符号是除法运算符。我正在试验,想知道为什么 5/7 printf 是数字 0。
这是我的程序:
#include<stdio.h>
main()
{
int n;
n = 5/7;
printf("%d", n);
}
谢谢!
刚开始学C,才知道/符号是除法运算符。我正在试验,想知道为什么 5/7 printf 是数字 0。
这是我的程序:
#include<stdio.h>
main()
{
int n;
n = 5/7;
printf("%d", n);
}
谢谢!
这是因为整数除法。 5/7
make 0.71..
,这个数字的整数部分是0
,因此它打印0
。要解决此问题,请使用float
类型(或双精度类型)变量以及常量,例如尝试:
float f = 5.0 / 7.0;
f
使用格式字符串打印变量%f
因为它是0
。
5/7
是整数除法,因为 5 和 7 都是整数。整数除法 5/7 的结果是 0。
n
,您将结果分配给的变量也是int
.
如果你写,你会有浮点除法5.0/7.0
。但是,由于您将结果分配给 n (同样是 an int
),它的值也将为 0。当然,如果您将结果分配给5.0/7.0
变量double
,您会得到小数。