博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试经验交流感悟
阅读量:6222 次
发布时间:2019-06-21

本文共 512 字,大约阅读时间需要 1 分钟。

      今天同MSRA的一个名校博士交流面试经验,他说前不久面一家公司,杯具到了一些C语言语法题上了。然后我问是啥题呢?他给我写了这些:

// Wrong code fragment!
int i = 5;
int z = ++i * ++i * ++i;
cout << z << endl;
 
// Wrong code fragment!
int count(int *p)
{
++*p;
}
 
int i = 5;
cout << sizeof(count(&i)) << ++i << endl;

      我好久没搞C了,隐约记得当初看过C99标准规范,有说表达式单元在单个表达式中不能改变值。不过由于记忆不清,没有顶住实验派的诱惑。后来在编译器上瞎搞了半天,从反汇编中总结出来了一些所谓的求值规律。晚上回来找来C99标准规范翻了翻,擦!这错误的代码让人求值,不是坑爹么!

下面摘些C99标准规范,免得回头再去翻:

  • 表达式求值

  • sizeof运算符

      但是sizeof是编译时执行,这点还是需要掌握的。最后,我不得不说面试这事儿真心靠人品,碰到一些自己语法没学好的面试官来问些蛋疼的问题就杯具了,这明显是找茬。这种地儿不去也罢!

转载地址:http://mleja.baihongyu.com/

你可能感兴趣的文章
ogg概叙、架构、进程
查看>>
建造者模式的使用场景
查看>>
java基本类型
查看>>
iReport报表生成html,pdf,xls,word工具类
查看>>
转一篇关于部署的文章
查看>>
cvc-complex-type.2.4.c 如何解决
查看>>
如何优化VMWare虚拟机的运行速度(转)
查看>>
UVALive2362 POJ1004 HDU1064 ZOJ1048 Financial Management【数学计算】
查看>>
UITableView解析
查看>>
[sas]Missing Value
查看>>
每日一博 | 用 Ionic2 创建 App 启动页滑动欢迎界面
查看>>
Android自动在线升级
查看>>
windows 系统安装git的方法
查看>>
java多线程简单demo
查看>>
2.第一个MVC程序
查看>>
堆排序的Python实现
查看>>
第四回 基类中的修饰符,应该根据你对架构的理解去定义它们,没有绝对的
查看>>
跨域实现IFRAME自适应高度~续(终级)
查看>>
Flask-SQLAlchemy基本操作
查看>>
ASP.NET页面刷新的实现方法
查看>>