C语言 { double d;float f;long l;int i; i=f=l=d=20⼀3; printf("%d尀n%ld尀n%f尀n%f尀n",i,l,f,d); }

小数点后只写一位,为什么输出的d是6.0而不是6.7
2025-02-27 14:49:07
推荐回答(1个)
回答1:

#include 
extern int system(const char *);

int main()
{
double d;float f;long l;int i;
i=l=f=d=20/3.0;
printf("%d\n%ld\n%f\n%lf\n",i,l,f,d);
i=l=f=d=20/3;
printf("\n%d\n%ld\n%f\n%lf\n",i,l,f,d);
system("pause");
return 0;
}

 

C语言中的除法号“ / ”的含义:

对于a/b:

一.如果a、b均为整数,则结果为整数。

二.如果a、b任有一个小数,则结果为小数。

在计算C语言算术表达式的结果时,特别是除法,需要注意计算过程中运算对象的数据类型转换。

相同数据类型的数据、变量进行运算,结果保持原有数据类型。

当不同数据类型的数据、变量进行运算时,结果为精度高的数据类型。