gpt4 book ai didi

c - 为什么在库函数之前有一个序列点?

转载 作者:行者123 更新时间:2023-12-03 23:06:41 31 4
gpt4 key购买 nike

标准说:

There is a sequence point immediately before a library function returns. C17dr § 7.1.4 3.



我知道在实际调用之前和返回语句之后有一个序列点(由于分号,如果有其他原因请告诉我),但我无法理解上面的句子。有人可以解释一下吗?

最佳答案

这意味着您可以编写类似 t = sqrt(t) 的代码.如果你不能,那真的很烦人。

如果 C 标准不保证函数在返回之前具有排序点,则上述行为将是未定义的。

请注意,C 标准库函数可能由编译器硬编码 - 所以这是一个重要的考虑因素。它还为标准库实现的用户增加了额外的保护,这些实现可能将某些功能实现为宏(允许受过多规则的约束)。

(请注意,该规则已转移到 C++)。

关于c - 为什么在库函数之前有一个序列点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62159002/

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