【发布时间】:2010-07-04 01:57:52
【问题描述】:
这是我遇到的一个面试问题:
int var = 1;
void main()
{
int i = i;
}
赋值后i的值是多少?它真的依赖于编译器还是只是未定义?我在 cygwin 上的 g++ 似乎一直给我 0。
谢谢
【问题讨论】:
-
似乎是一个糟糕的面试问题。我认为了解晦涩难懂的语言是一项经常受到考验的技能(从长远来看并不是很重要)。我宁愿有人会去询问或查找,也不愿有人知道诸如此类的一切。
-
它甚至不会编译,你至少需要
int main()。 -
为什么顶部有
int var = 1;? -
未定义。这就是这个词的用途。就像,科莫多巨蜥可能会爬出来吃掉你的液晶屏。面试官实际上可能希望与您讨论编译器技术(或外行程序员)如何实现捕获此类错误等的技术。
-
@Brian 我想它的意思是说
int i = 1;。
标签: c++