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


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面试题大全
Oct 16 面试题
介绍一下Java中的Class类
Apr 10 面试题
简述数组与指针的区别
Jan 02 面试题
杭州SQL浙江浙大网新恩普软件有限公司
Jul 27 面试题
Ado与Ado.net的相同与不同
Dec 08 面试题
以思科路由器为例你写下单臂路由的配置命令
Aug 03 面试题
密封类可以有虚函数吗
Aug 11 面试题
介绍一下Linux中的链接
May 28 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
Nov 23 面试题
如何开发一个JQuery插件
Jul 28 面试题
Java如何调用外部Exe程序
Jul 04 面试题
火山动力Java笔试题
Jun 26 面试题
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+mysql保存和输出文件
2006/10/09 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
JavaScript中的作用域链和闭包
2012/06/30 Javascript
jquery slibings选取同级其他元素的实现代码
2013/11/15 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
jQuery带时间的日期控件代码分享
2015/08/26 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python 如何访问外围作用域中的变量
2016/09/11 Python
Python连接phoenix的方法示例
2017/09/29 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
eclipse创建python项目步骤详解
2019/05/10 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
内部类的定义、种类以及优点
2013/10/16 面试题
建龙钢铁面试总结
2014/04/15 面试题
家长会主持词开场白
2014/03/18 职场文书
校庆标语集锦
2014/06/25 职场文书
企业党员个人自我评价
2014/09/20 职场文书
科技活动周标语
2014/10/08 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server