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


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

面试题 相关文章推荐
简述你对Statement,PreparedStatement,CallableStatement的理解
Mar 25 面试题
怎样创建、运行java程序
Aug 01 面试题
Oracle中delete,truncate和drop的区别
May 05 面试题
.net开发工程师面试题
Feb 25 面试题
STP协议的主要用途是什么?为什么要用STP
Dec 20 面试题
Linux Interview Questions For software testers
May 17 面试题
介绍一下linux的文件权限
Feb 15 面试题
介绍一下Linux中的链接
Jun 05 面试题
Python面试题:Python里面如何生成随机数
Mar 12 面试题
有abstract方法的类一定要用abstract修饰吗
Mar 14 面试题
Java面试题:请说出如下代码的输出结果
Apr 22 面试题
一套Delphi的笔试题二
May 11 面试题
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水印
2007/03/16 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
2013/12/25 PHP
PHP crc32()函数讲解
2019/02/14 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
奇妙的js
2007/09/24 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
浅析Python的Django框架中的Memcached
2015/07/23 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
基于python指定包的安装路径方法
2018/10/27 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
Python的Lambda函数用法详解
2019/09/03 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
网络安全方面的面试题
2016/01/07 面试题
初中女生自我鉴定
2013/12/19 职场文书
自动化专业个人求职信范文
2013/12/30 职场文书
讲解员培训方案
2014/05/04 职场文书
自我查摆剖析材料
2014/10/11 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
离婚协议书范本
2015/01/26 职场文书
工程合作意向书范本
2015/05/09 职场文书
JS + HTML 罗盘式时钟的实现
2021/05/21 Javascript
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android
nginx之queue的具体使用
2022/06/28 Servers