1、通过实验的方法,观察系统如何处理整数上溢、浮点数上溢、和浮点数下溢的情况。
整数上溢的情况:
<code>#include<stddio.h></code>
<code>int</code> <code>main()</code>
<code>{ </code>
<code>int</code> <code>i=2147483647;</code>
<code>printf</code><code>(</code><code>"%d %d %d\n"</code><code>,i,i+1,i+2);</code>
<code>}</code>
<code>运行结果如下:</code>
<a href="https://s3.51cto.com/wyfs02/M00/9D/10/wKiom1l5lnHR0J9KAABHm4eJeMs529.png" target="_blank"></a>
解释:整数i的范围就是:
<code>-2147483647-2147483647</code>
所以最大值加1向上溢出后回到最左端。
浮点数上溢:
程序:
<code>#include<stdio.h></code>
<code> </code><code>float</code> <code>toobig=3.4E38*100.0f;</code>
<code> </code><code>printf</code><code>(</code><code>"%e\n"</code><code>,toobig);</code>
程序结果:
<a href="https://s3.51cto.com/wyfs02/M00/9D/11/wKioL1l5mQ7AMvjvAAA0QxwCV18900.png" target="_blank"></a>
浮点数下溢的情况:
<code> </code>
<code>float</code> <code>toosmall=0.1234E-10;</code>
<code>printf</code><code>(</code><code>"%e\n"</code><code>,toosmall/10);</code>
结果:
<a href="https://s3.51cto.com/wyfs02/M01/9D/11/wKiom1l5nSmQ2rh7AAA_RzAChWc055.png" target="_blank"></a>
2、输入一个ASC||码值(66),输出相应的字符。
<code> </code><code>int</code> <code>i=66;</code>
<code> </code><code>int</code> <code>j=98;</code>
<code> </code><code>printf</code><code>(</code><code>"%c %c\n"</code><code>,i,j);</code>
<a href="https://s2.51cto.com/wyfs02/M02/9D/12/wKiom1l5n-SzPJxeAAA23GlZ1TY567.png" target="_blank"></a>
3、编程发出警报声,并输出如下:
<a href="https://s4.51cto.com/wyfs02/M00/9D/14/wKioL1l5sfGiCXQaAAAzw2Zvun0221.png" target="_blank"></a>
/a的数量便是警报声的次数。
4、
<a href="https://s5.51cto.com/wyfs02/M01/9D/15/wKioL1l5uGvxVkJMAAA2MmJ1ywM004.png" target="_blank"></a>
本文转自 lillian_trip 51CTO博客,原文链接:http://blog.51cto.com/xiaoqiaoya/1951526,如需转载请自行联系原作者