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


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

面试题 相关文章推荐
经典c++面试题六
Jan 18 面试题
委托与事件是什么关系?为什么要使用委托
Apr 18 面试题
2019年.net常见面试问题
Feb 12 面试题
explicit和implicit的含义
Nov 15 面试题
C#如何进行LDAP用户校验
Nov 21 面试题
介绍一下write命令
Aug 10 面试题
几个Shell Script面试题
Apr 18 面试题
几个常见的软件测试问题
Sep 07 面试题
Overload和Override的区别
Sep 02 面试题
介绍下Lucene建立索引的过程
Mar 02 面试题
代码中finally中的代码会不会执行
Feb 06 面试题
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中图片等比缩放的实例
2013/03/24 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
[01:44]Ti10举办地公布
2019/08/25 DOTA
使用Python的turtle模块画图的方法
2017/11/15 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
《母鸡》教学反思
2014/02/25 职场文书
珍惜水资源建议书
2014/03/12 职场文书
施工安全承诺书
2014/05/22 职场文书
廉洁校园实施方案
2014/05/25 职场文书
活动总结报告怎么写
2014/07/03 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
公司领导班子召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
建议书格式
2015/02/04 职场文书
餐馆开业致辞
2015/08/01 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
python urllib库的使用详解
2021/04/13 Python
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android