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


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...

面试题 相关文章推荐
你所知道的集合类都有哪些?主要方法?
Dec 31 面试题
什么造成了Java里面的异常
Apr 24 面试题
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
Oct 06 面试题
数据库专业英语
Nov 30 面试题
什么是Assembly(程序集)
Sep 14 面试题
逻辑链路控制协议
Oct 01 面试题
Linux操作面试题
Feb 11 面试题
中科创达面试题
Dec 28 面试题
介绍一下Python下range()函数的用法
Nov 07 面试题
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
May 29 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
Oct 12 面试题
Tomcat的缺省是多少,怎么修改
Apr 09 面试题
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
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
php中explode与split的区别介绍
2012/10/03 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
Vue父组件向子组件传值以及data和props的区别详解
2020/03/02 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
[00:10]神之谴戒
2019/03/06 DOTA
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
开源Web应用框架Django图文教程
2017/03/09 Python
python ansible服务及剧本编写
2017/12/29 Python
Python 实现一个计时器
2020/07/28 Python
Python排序函数的使用方法详解
2020/12/11 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
公关活动策划方案
2014/05/25 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
2016年寒假社会实践活动总结
2015/03/27 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
养成教育主题班会
2015/08/13 职场文书
小学数学教师研修日志
2015/11/13 职场文书
什么是SOLID
2022/03/24 Javascript