若已定义x和y为double类型,则经过:x=1; y=x+3/2; 后y的值是
答案为什么是2.0而不是2.000000?double型不是实型要保留6位小数的吗?
若已定义x和y为double类型,则经过:x=1; y=x+3/2; 后y的值是
答案为什么是2.0而不是2.000000?double型不是实型要保留6位小数的吗?
x=1; y=x+3/2;你是double型就不应该用这种计算,应该用y = x + (double)3/2;
然后,你可以用以下程序
#include <stdio.h>
int main(int argc, char *argv[])
{
double x=1, y;
y = x + (double)3/2;
printf("%.8f",y);
return 0;
}
注意 printf("%.8f",y);中的("%.8f", 中的8是小数点后面的位数。这样就可以知道多少位了
程序代码:
#include <stdio.h> void main() { double x,y; x=1; y=x+3/2; printf("x=%f,y=%f\n",x,y); } 运行结果:不是你说的那样啊!
你是不是printf 这个用错了?要用double要用double要用%lf 这个输出