c++ - 为什么 "for (i = 100; i <= 0; --i)"永远循环?

标签 c++ c loops comparison unsigned

unsigned int i;
for (i = 100; i <= 0; --i)
    printf("%d\n",i);

最佳答案

如果您希望它从 100 循环到 0,则在循环的第二个条件中应该是 i >= 0

正如其他人所指出的那样,您需要将 i 的定义更改为带符号的整数(只是 int),因为当计数器意味着为 -1,它将是其他一些正数,因为您将其声明为 unsigned int

关于c++ - 为什么 "for (i = 100; i <= 0; --i)"永远循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788298/

相关文章:

c++ - 将标志组合映射到枚举的最简单方法是什么?

C++:外部类中内部类的静态实例

c++ - cmake格式化字符串输出

c - 在 C 程序中为 jemalloc 设置 MALLOC_CONF 环境变量不起作用

c - "Statement and Declarations in Expressions"是特定于 GNU C 的吗?

c++ - 以最紧凑的方式调用默认(也称为无参数)构造函数

c - C标准库函数名中的 "f"代表什么?

bash - 如何使用多个变量构建路径

php - 虽然php中的嵌套循环从sql数据库中获取数据

python - Pandas 将多行作为一行,添加特定列