#include<stdio.h>
int main() {
float x;
double y;
x=123456.789;
y=123456.789;
printf("x=%f\n",x);
printf("y=%f\n",y);
}
输出 x=123456.789062 y=123456.789000
分析 从程序运行结果可以看出,x的值并不等于赋予的初值,而y的值等于赋予的初值。这是由不同数据类型变量的有效数字不同产生的差异。因而在需要定义较大的数时,应选取双精度double型,甚至选取长双精度long double型,以确保数据的准确性。