vs2017编译
3.1.通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。
#include <stdio.h>
void int_overflow(void);
void float_overflow(void);
void float_underflow(void);
int main(void)
{
int_overflow();
float_overflow();
float_underflow();
getchar();/*方便查看运行结果*/
return 0;
}
void int_overflow(void)
{
short short_a,short_b;/*取值范围-32768--32767*/
int int_a,int_b, temp;
temp = 32767;
short_a = temp;
int_a = temp;
temp = temp + 65536;
short_b = temp;/*可以看到溢出,short_b只截取低16位*/
int_b = temp;
printf("int_overflow:\n");
printf("%zd,%zd\n", sizeof(short), sizeof(int));
printf("short_a=%d\nint_a=%d\n", short_a, int_a);
printf("short_b=%d\nint_b=%d\n\n", short_b, int_b);
}
void float_overflow(void)
{
float a,b,c,temp