gpt4 book ai didi

c++ - 这个 for 循环实际上是如何工作的?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:50:08 24 4
gpt4 key购买 nike

阅读一些主题我找到了这段代码,我想知道它是如何工作的,因为它主要是:

5
2

代码:

static int a = 7;

int test()
{
return a--;
}

int main()
{
for(test();test();test())
{
cout << test() << "\n";
}
return 0;
}

最佳答案

操作顺序,如图所示:

  1. a 在启动时全局初始化。到 7
  2. 首先命中 for 循环的初始化器,test()a 递减为 6,然后返回先前的值 (7),该值将被忽略。
  3. for循环的测试用例命中,test()a递减为5,然后返回通过非零测试的先验值(6)因此 for 循环可以继续。
  4. cout语句; test()a 递减为 4,返回发送到 cout 的先前值 (5)
  5. for 循环的递增语句被执行。 test()a 递减为 3,返回先前的值 (4),该值将被忽略。
  6. for 循环的测试用例被命中。 test()a 递减为 2,返回先前的值 (3),该值通过非零测试并继续循环。
  7. cout语句; test()a 递减为 1,返回发送到 cout 的先前值 (2)
  8. for 循环的递增语句被执行。 test()a 递减为 0,返回先前的值 (1),该值将被忽略。
  9. for 循环的测试用例被命中。 test()a 递减为 -1,返回先前的值 (0),该值未通过非零测试且循环终止。

现在。在 6 点或 8 点开始循环,看看会发生什么。 =P

关于c++ - 这个 for 循环实际上是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14182000/

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