下面这个程序执行后会有什么错误或者效果


Posted in 面试题 onNovember 03, 2014
#define MAX 255
int main()
{
unsigned char A[MAX],i;//i被定义为unsigned char
for (i=0;i A[i]=i;
}
解答:死循环加数组越界访问(C/C++不进行数组越界检查)
MAX=255
数组A的下标范围为:0..MAX-1,这是其一..
其二.当i循环到255时,循环内执行:
A[255]=255;
这句本身没有问题..但是返回for (i=0;i 由于unsigned char的取值范围在(0..255),i++以后i又为0了..无限循环下去.
struct name1{
char str;1 short x;2
int num;
}
struct name2{
char str;0
int num;4
short x;6
}
sizeof(struct name1)=8,sizeof(struct name2)=12
在第二个结构中,为保证num按四个字节对齐,char后必须留出3字节的空间;同时为保证整个结构的自然对齐(这里是4字节对齐),在x后还要补齐2个字节,这样就是12字节。
intel:
A.c 和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?这两个static变量会保存到哪里(栈还是堆或者其他的)?
static的全局变量,表明这个变量仅在本模块中有意义,不会影响其他模块。
他们都放在数据区,但是编译器对他们的命名是不同的。
如果要使变量在其他模块也有意义的话,需要使用extern关键字。
struct s1
{
int i: 8;
int j: 4;
int a: 3;
double b;
};
struct s2
{
int i: 8;
int j: 4;
double b;
int a:3;
};
printf(“sizeof(s1)= %d\n”, sizeof(s1));
printf(“sizeof(s2)= %d\n”, sizeof(s2));
result: 16, 24
第一个struct s1
{
int i: 8;
int j: 4;
int a: 3;
double b;
};
理论上是这样的,首先是i在相对0的位置,占8位一个字节,然后,j就在相对一个字节的位置,由于一个位置的字节数是4位的倍数,因此不用对齐,就放在那里了,然后是a,要在3位的倍数关系的位置上,因此要移一位,在15位的位置上放下,目前总共是18位,折算过来是2字节2位的样子,由于double是8字节的,因此要在相对0要是8个字节的位置上放下,因此从18位开始到8个字节之间的位置被忽略,直接放在8字节的位置了,因此,总共是16字节。
第二个最后会对照是不是结构体内最大数据的倍数,不是的话,会补成是最大数据的倍数

Tags in this post...

面试题 相关文章推荐
请说出你所知道的线程同步的方法
Apr 19 面试题
数据库连接池的工作原理
Sep 26 面试题
Ibatis中如何提高SQL Map的性能
May 11 面试题
纬创Java面试题笔试题
Oct 02 面试题
介绍一下Java中的Class类
Apr 10 面试题
凌阳科技股份有限公司C++程序员面试题笔试题
Nov 20 面试题
介绍一下Transact-SQL中SPACE函数的用法
Sep 01 面试题
上海微创软件面试题
Jun 14 面试题
什么是跨站脚本攻击
Dec 11 面试题
编程用JAVA解析XML的方式
Jul 07 面试题
什么是封装
Mar 26 面试题
struct与class的区别
Feb 03 #面试题
某IT外企面试题-二分法求方程!看看大家的C++功底
Jul 04 #面试题
什么是数组名
May 10 #面试题
为什么要有struct关键字
May 08 #面试题
Kingsoft金山公司C/C++笔试题
May 10 #面试题
strlen的几种不同实现方法
May 31 #面试题
威盛公司软件C++工程师笔试题面试题
Jul 16 #面试题
You might like
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
php文件缓存类汇总
2014/11/21 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
提高 DHTML 页面性能
2006/12/25 Javascript
prototype Element学习笔记(篇一)
2008/10/26 Javascript
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
document节点对象的获取方式示例介绍
2013/12/24 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
JS实现iframe自适应高度的方法示例
2017/01/07 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
在Python中调用ggplot的三种方法
2015/04/08 Python
教你学会使用Python正则表达式
2017/09/07 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
python函数不定长参数使用方法解析
2019/12/14 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
美国知名艺术画网站:Art.com
2017/02/09 全球购物
中学生运动会入场词
2014/02/12 职场文书
汽车机修工岗位职责
2014/03/06 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
入伍通知书
2015/04/23 职场文书
工地食品安全责任书
2015/05/09 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
iOS 16进一步确认,一共支持16款iPhone
2022/04/28 数码科技