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


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

面试题 相关文章推荐
如何将字串String转换成整数int
Feb 21 面试题
Java中实现多态的机制
Aug 09 面试题
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
May 23 面试题
经典C++面试题一
Nov 06 面试题
SQL面试题
Dec 09 面试题
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
Jun 16 面试题
OSPF有什么优点?为什么OSPF比RIP收敛快?
Feb 13 面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
Sep 10 面试题
Prototype中如何为一个元素添加一个方法
Dec 08 面试题
如何利用XMLHTTP检测URL及探测服务器信息
Nov 10 面试题
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
Nov 09 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
Feb 17 面试题
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控制网页过期时间的代码
2008/09/28 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
python encode和decode的妙用
2009/09/02 Python
Python内置数据类型详解
2014/08/18 Python
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
python如何删除列为空的行
2020/07/17 Python
C#和SQL Server的面试题
2016/08/12 面试题
见习期自我鉴定
2014/01/31 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
云台山导游词
2015/02/03 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python
canvas 中如何实现物体的框选
2022/08/05 Javascript