c - 当我写 "i == 0"时 for 循环有效,但在 C 中写 "i = 0"时无效?

标签 c for-loop

我试图编写一个程序来列出给定数字的因数。当我写这个时它起作用了:

int main () {

  int num, i;

  printf("\nEnter a number: ");
  scanf("%d", &num);

    for(i == 0; i <= num; ++i) {
        if (num % i == 0) {
        printf("\n\t%d", i);
        }
    }
 }

但不是当for循环是

for(i = 0; i <= num; ++i)

我很困惑,因为我认为这是 for 循环的格式。有人可以指出我的错误吗?

最佳答案

在这种情况下,您应该使用 i=1 开始循环如 for(i = 1; i <= num; ++i) , 否则你试图将一个数字除以 0 .因子永远不可能是0 .

关于c - 当我写 "i == 0"时 for 循环有效,但在 C 中写 "i = 0"时无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18036625/

相关文章:

python列表索引问题

c - For 循环应该是良构的

c - 为什么我会收到段错误 : 11?

c++ - 代码块电源功能在 c 中不起作用

c - 位集 vector int k 在 C 中超出范围

javascript - .setAttribute 在 for 循环中不起作用 - JavaScript

python - 如何在循环中增加一个值

javascript - 在 Coffeescript 中强制迭代 for 循环

c++ - 使用简单 COM dll 的 UAC 提升

c - 如何在检查单元测试中设置从文件读取输入的路径?