试题详情
- 简答题运行下面的程序,观察执行结果,指出该程序是如何通过指针造成安全性隐患的,思考如何避免这种情况的发生。
- 在32位平台下,一般int是4个字节,double 是8个字节,代码第5、6行强制转换后的赋值过程中修改了arr[0] , arr [1] , 的内存空间,因此导致arr[1]的非预期输出。避免这种情况的措施:1、尽量避免使用类型转换;2、必须使用类型转换时,尽量开辟新的内存空间,在新内存空间中完成转换。3、必须使用原有内存空间时,要特别注意各种数据类型在不同平台下的内存占用大小。
关注下方微信公众号,在线模考后查看
热门试题
- 宏定义是可以带参数的。
- 编写程序,从键盘输入字符串tt,字符串中
- 若x是整型变量,表达式(x=10.0/4
- 设有以下程序段,则()。
- 下列字符序列中,不可用作C语言标识符的是
- 利用数组可以完成的功能包含()
- 对以下定义inta[10]={6,7,8
- 在main函数中定义的变量称为全局变量。
- 计算并输出给定数组(长度为9)中每相邻两
- 编写程序,输入三角形的3条边a、b、c,
- 设有如下定义:int x=l
- 阅读下列程序,输入数据:2,4,写出程序
- 以下不能正确定义二维数组的选项是().
- 以下描述中,叙述正确的是()
- 下述程序的输出结果是()
- 设有如下的共用体定义,则a所占的内存单元
- sizeof(double)的结果值是(
- 若有以下说明和语句,已知int和doub
- 表达式!x等价于()
- Windows应用程序的消息来源主要包括