一个小问题,关于变量的定义问题
#include<stdio.h>#include<stdlib.h>
main()
{
double pp;
pp=5/9;
double tt=5;
double u;
u=tt/9;
double ll=5/9;
printf("%f",ll);
printf("\n");
printf("%f",pp);
printf("\n");
printf("%f",u);
system("pause");
}
为什么都是5/9 都是数据类型都是double 可是打印出来的结果,前两个都是0.0000
最后一个是0.55567
想问为什么
----------------解决方案--------------------------------------------------------
pp=5/9和double ll=5/9都是先计算5/9后再把值赋给它们,5/9结果是0
因此pp和ll打印结果是0.000000
而u=tt/9;因为tt是double型的数,所以打印结果是0.555556
----------------解决方案--------------------------------------------------------
嗯,要注意优先级,=号的优先级是比较低的,一般最后才执行
----------------解决方案--------------------------------------------------------
完全同意2楼的看法
----------------解决方案--------------------------------------------------------