gpt4 book ai didi

c -++i 和 i++ 有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-04 04:22:00 25 4
gpt4 key购买 nike

在C语言中,使用++ii++有什么区别,在for的递增 block 中应该使用哪个> 循环?

最佳答案

  • ++i 将增加 i 的值,然后返回增加后的值。

     i = 1;
    j = ++i;
    (i is 2, j is 2)
  • i++ 将增加 i 的值,但返回 i 在增加之前保持的原始值。

     i = 1;
    j = i++;
    (i is 2, j is 1)

对于 for 循环,两者都可以。 ++i 似乎更常见,可能是因为 K&R 中使用了它.

在任何情况下,遵循“更喜欢 ++i 而不是 i++”的指导方针,你就不会出错。

关于 ++ii++ 的效率有一些评论。在任何非学生项目编译器中,都不会有性能差异。您可以通过查看生成的代码来验证这一点,它们将是相同的。

效率问题很有趣……这是我尝试回答的问题: Is there a performance difference between i++ and ++i in C?

作为@OnFreund请注意,对于 C++ 对象而言,它是不同的,因为 operator++() 是一个函数,编译器不知道要优化临时对象的创建以保存中间值。

关于c -++i 和 i++ 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45891359/

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