gpt4 book ai didi

c - 有明确答案的未定义表达式?

转载 作者:太空狗 更新时间:2023-10-29 15:23:56 27 4
gpt4 key购买 nike

我正在尝试理解面试问题的答案。

出现以下代码:

int x = 5;

int y = x++ * ++x;

What is the value of y?

答案以多项选择答案的列表形式呈现,其中之一是 35

在我的机器上编写并运行此代码会导致 y 等于 35
因此,我希望将此问题的答案标记为 35

但是,这个表达式不是由于 x++ 而未定义吗,即效果的一面(x 的实际增量)可能随时发生,具体取决于编译器选择编译代码的方式。

因此,我不会认为您可以肯定地说答案是35,因为不同的编译器可能会产生不同的结果。

另一个可能的多项选择答案是 30,我认为这也是可行的,即如果后增量副作用发生在序列点的最末端。

我没有答案,所以很难确定给出的最佳答案是什么。

这只是一个糟糕的问题还是答案更明显?

最佳答案

你是对的;该标准根本没有对此代码可能做什么强加任何要求。

如果这是一个多项选择题,需要您选择一个特定的定义答案,那么 - 写这个问题的人并不像您一样了解 C。当您决定是否接受那里的报价时,请记住这一点。 :-)

关于c - 有明确答案的未定义表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30551846/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com