gpt4 book ai didi

c++ - 静态存储类 C++ 计数

转载 作者:行者123 更新时间:2023-11-28 01:31:47 24 4
gpt4 key购买 nike

我是 C++ 的新手,想知道为什么下面的 while 循环在编译和执行时停止在 0?

#include <iostream>

void func(void);

static int count = 10;

int main() {

while(count--) {
func();
}

return 0;
}


void func( void ) {
static int i = 5; // local static variable
i++;
std::cout << "i is " << i ;
std::cout << " and count is " << count << std::endl;
}

例子来自:https://www.tutorialspoint.com/cplusplus/cpp_storage_classes.htm

最佳答案

循环 10 次后,当 count 为零时,它将计算 count。 C++ 中的条件仅在条件为非零时才会前进,因此一旦计数达到零,它就会停止。

在最后几个循环中,执行将如下所示:

  • 当计数为 1 时评估条件:计数不为零,因此它继续执行循环体
  • 后缀递减计数,因此在评估条件后计数变为零
  • func() 打印出 i 和计数,现在为零。
  • 在计数为 0 时评估条件:条件为零,因此它停止并且不打印任何其他内容。

关于c++ - 静态存储类 C++ 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51228061/

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