【程序阅读题】
1. 运行下面的程序,解释产生结果的过程(或原因)
#include <stdio.h>
int main()
{
short int a, b;
a= 32767;
printf("a=%d\n",a);
b = a + 10;
printf("b=%d\n",b);
return 0;
}
- 运行下面的程序,解释产生结果的过程(或原因)
#include <stdio.h>
int main()
{
float a,b,c;
a=1234.56789;
b=9876.54321;
c=a+b;
printf("%12.5f\n",c);
return 0;
}
提示:
1、
对于整型数据,由于存储位数的限制,其范围并非像数学中的整数,可以无限大和无限小,而是局限在一定范围内。这样的运行结果,是产生了“溢出”。更详细的解释,参考整型数据的表示。
2、
对于浮点型数据,除了表示数的范围外,还要注意其精度,即其有效位数有几位。在超出有效位数的部分,不能保证其准确。一般讲,float型的精度是7位左右有效数字,而double型是15位左右。
格式控制符%12.5指显示数总宽度12,小数点后保留5位。