多做题,通过考试没问题!

C语言程序设计

睦霖题库>大学试题(计算机科学)>C语言程序设计

运行下面的程序,观察执行结果,指出该程序是如何通过指针造成安全性隐患的,思考如何避免这种情况的发生。

正确答案:
在32位平台下,一般int是4个字节,double 是8个字节,代码第5、6行强制转换后的赋值过程中修改了arr[0] , arr [1] , 的内存空间,因此导致arr[1]的非预期输出。 
避免这种情况的措施:1、尽量避免使用类型转换;2、必须使用类型转换时,尽量开辟新的内存空间,在新内存空间中完成转换。3、必须使用原有内存空间时,要特别注意各种数据类型在不同平台下的内存占用大小。 
答案解析:
进入题库查看解析

微信扫一扫手机做题