【发布时间】:2016-04-06 01:25:24
【问题描述】:
我参加了一次面试,我被问到这个问题:
您对以下内容有何看法?
int i; scanf ("%d", i); printf ("i: %d\n", i);
我回复了:
- 程序将编译成功。
- 它会打印错误的数字,但会一直运行到最后 不会崩溃
我的回答是错误的。我不知所措。
在那之后他们解雇了我:
程序在某些情况下会崩溃并导致核心转储。
我不明白为什么程序会崩溃?谁能解释一下原因?任何帮助表示赞赏。
【问题讨论】:
-
任何体面的编译器都会抱怨
scanf期望指针的方式 -
请不要回滚这些标签编辑。出于某种原因,该标签已被删除。
-
@BradLarson,好吧,我不会这样做。起初我认为那个标签适合这个问题。你能告诉我标签被删除的原因吗?
-
此链接是在编辑原因之一中提供的:meta.stackoverflow.com/questions/256592/…