刚开始学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/7make 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,您会得到小数。