面试—每日一题(2)
好了,不知道上一篇大家掌握的怎么样了,现在又是新的一题了。这个题不是写代码,而是分析代码,分析代码,有讲究,有什么讲究呢?那就听我给大家一一到来!
分析代码的讲究:
首先,代码分析题在面试中,都不会很难,为什么?因为公司看中的是你的鞋代码的能力,难点一般都放在了写代码上,那分析代码考的是什么?并且这种题得代码一般是短小而精悍。考官说了,考的就是你们!
其次,分析代码考的是小的知识点,什么叫小的知识点,就是你在编程中容易出错的地方,就是你不注意的地方,就是你一步消息出错的地方。
最后,分析代码,大家不能平想法,在脑子里走代码,面试的时候分析代码,是不会给你一台机子,说,让你运行完了,在问你,这个代码的运行结果是什么?除非这个考官是SB,呵呵!一定要在纸上把代码的运行下下来,注意,要细心。是的,就是一万个细心。很有可能,一不小心,你就得不到这个offer了,可能的,一切皆有可能!
接招:
话说有这么一段代码,让你写出代码的运行结果:
哈哈,代码够短把。现在你来算算运行结果。不要看下面的解答,自己算一下!
解答:
考点1:#define SQR(x) x*x
这个语句你懂吗?要是懂得话就好!不懂的话,那我就在唠叨一下。很简单,就是很简单的定义,就是在运算的时候将前面的用后面的代替。如题中:SQR(k + m)就换成(k+m)*(k+m)了,现在懂了吧,不过这里的陷阱不只是我现在说的。同时,这个define语句的陷阱也是很多的。
考点2:a /= SQR(k + m) / SQR(k + m),对了,就是这段了,是的,你必须把它搞定。算出来,把它算出来就是成功了。这里是最可能出问题了。好了,自己去算吧。我就不多说了,如果还有问题,请在下面贴出来。哦,忘了,答案?答案我就不说了,自己运行一下吧!很简单的,我相信你,你能行的!