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


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

面试题 相关文章推荐
PHP面试题集
Dec 18 面试题
数据库连接池的工作原理
Sep 26 面试题
怎样创建、运行java程序
Aug 01 面试题
Java工程师面试集锦之Spring框架
Jun 16 面试题
C语言编程练习
Apr 02 面试题
经典c++面试题二
Aug 14 面试题
阿里巴巴Oracle DBA笔试题答案-备份恢复类
Nov 20 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 面试题
说一下Linux下有关用户和组管理的命令
Aug 18 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
Jul 24 面试题
主要的Ajax框架都有什么
Nov 14 面试题
为什么要使用servlet
Jan 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
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
JavaScript String 对象常用方法详解
2016/05/13 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
python写日志封装类实例
2015/06/28 Python
详解Python中的Cookie模块使用
2015/07/06 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python 移动光标位置的方法
2019/01/20 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
Python 脚本拉取 Docker 镜像问题
2019/11/10 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
python实现跨年表白神器--你值得拥有
2021/01/04 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
模范家庭事迹材料
2014/02/10 职场文书
分公司任命书
2014/06/06 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
党员自我评价2015
2015/03/03 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS
nginx容器方式反向代理实战
2022/04/18 Servers
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript