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


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

面试题 相关文章推荐
JSF面试题:Jsf中导航的标签是什么
Apr 20 面试题
华为慧通笔试题
Apr 22 面试题
计算s=f(f(-1.4))的值
May 06 面试题
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
Dec 07 面试题
一篇.NET面试题
Sep 29 面试题
init进程的作用
Aug 20 面试题
长青弘远的面试题
Jun 09 面试题
几个常见的消息中间件(MOM)
Jan 08 面试题
What is EJB
Jul 22 面试题
新锐科技Java程序员面试题
Jul 25 面试题
Exception类的常用方法
Jun 16 面试题
与UNIX有关的几个名词
Sep 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概述.
2006/10/09 PHP
Yii操作数据库的3种方法
2014/03/11 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
js Function类型
2011/12/04 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
详解通过JSON数据使用VUE.JS
2017/05/26 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
详解Python的Django框架中的通用视图
2015/05/04 Python
使用python生成目录树
2018/03/29 Python
python保存文件方法小结
2018/07/27 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
Python threading的使用方法解析
2019/08/28 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
Python3 读取Word文件方式
2020/02/13 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
网络宣传方案
2014/03/15 职场文书
庆六一活动总结
2014/08/29 职场文书
民主评议党员总结
2014/10/20 职场文书
个园导游词
2015/02/04 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
MySQL基础(一)
2021/04/05 MySQL
Python 中的 copy()和deepcopy()
2021/11/07 Python
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL