2019暑期C/C++实习生面试笔试题,虽然简单基础,但正确率只有60%

当时笔试做题的时候,面试官说半个小时以后来拿卷子,我趁机拍了一点,现在回过头再做一遍,也算是一个复习和提高,上图,第三大题没有拍全,等会后面补上。

第一题较简单,需要注意的只有float变量与零值的比较可能会比较坑,其他的都是常规,float变量与零值的if比较应该是:

const EPSINON=0.00001; 

if((x>=-EPSINON)&&(x<=EPSINON));     //为什么是0.00001,可以具体查看float变量的精度和有效位数的介绍

 

第二题除了前三个会,其他都是蒙的,查了资料以后总结如下,发现自己蒙错了最后一题,但最后一题不应该错的。

sizeof是一个操作符(operator),其作用是返回一个对象或类型所占的内存字节数。

1.char str[]="Hello";      sizeof(str)=6;   

数组的sizeof值等于数组所占用的内存字节数。

注意:1)当字符数组表示字符串时,其sizeof值将’/0’计算进去。

            2)当数组为形参时,其sizeof值相当于指针的sizeof值。 

2.char *p = str;             sizeof(p)=4;   

指针是用来记录另一个对象的地址,所以指针的内存大小当然就等于计算机内部地址总线的宽度。

在32位计算机中,一个指针变量的返回值必定是4。

指针变量的sizeof值与指针所指的对象没有任何关系。

3.int n = 10;                 sizeof(n)=4;     //int类型占用的字节数依系统而定,题目说是Windows NT 32,那应该是4

4.void Func(char str[100]);   sizeof(str)=4;   //当数组为形参时,其sizeof值相当于指针的sizeof值。 

5.void *p=malloc(100);           

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值