gpt4 book ai didi

c - 这个c代码仍然不是定义的输出吗?

转载 作者:行者123 更新时间:2023-12-02 06:43:30 26 4
gpt4 key购买 nike

我在阅读 C Traps and Pitfalls 时了解到,由于 = 和++ 的未定义顺序,以下代码可能适用于某些实现,但不适用于其他实现。 C 仍然如此吗?

int i = 0;
while (i < n)
y[i] = x[i++];

如果是这样,那真是不可思议。

最佳答案

没有什么不可思议的。相当明确的未定义行为。阅读更多关于 sequence points 的信息.就这样写:

int i = 0;
while (i < n)
{
y[i] = x[i];
i++;
}

更安全,更具可读性。

关于c - 这个c代码仍然不是定义的输出吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4419092/

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