【发布时间】:2021-08-23 08:35:06
【问题描述】:
我可以像这样在 C 中的函数返回中使用后增量吗?
int meta_solve() {
//some codes
return metaData[head++]; //head is global variable
}
我问这个问题是因为它在 windows 和 mac 上显示了不同的结果。感谢您的关注。祝你有美好的一天!
【问题讨论】:
-
这取决于你如何调用函数。如果您调用该函数两次且它们之间没有序列点,则它们被调用的顺序未指定,因此增量的顺序将发生变化。
-
发布minimal reproducible example 来证明您遇到的问题。
-
什么是
head?metaData[]是什么? -
@Barmar 虽然这是真的,但它不会改变 return 语句中的后增量是好的。
-
不是 windows 或 mac 的东西,而是一个编译器来自另一个,显示你认为不同的每个编译器的反汇编
标签: c function return post-increment