在C中嵌套for循环不能按预期工作

0 c loops for-loop

for (i = 2; i < input; i++){
    for (d = 2; d < input; d++){
        product = d*i;
        printf("%d\n", product);
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

这段代码是我的Intro to C class的家庭作业问题解决方案的一部分.实际问题涉及素数,但我想到的解决方案需要使用嵌套的for循环.但是,我不能让他们表现得正确.我假设使用数组可以简化操作,但是我们尚未接受它们并且不允许在我们的解决方案中使用它们.无论如何:

例如,如果我的输入为10,则我的值i应为{2,3,4,5,6,7,8,9}.我的价值d也应该是{2,3,4,5,6,7,8,9}.

我期望这个循环要做的是将每个i循环乘以d:

2*2
2*3
2*4
.
.
.
2*9
3*2
3*3
.
.
.
.
Run Code Online (Sandbox Code Playgroud)

然后.但是,而不是仅仅乘id = 2,我也得到了以下内容:

4
6
8
10
.
.
.
20
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Ale*_*sie 9

for (d = 2; d < input; d++){
        product = d*i;
        printf("%d\n", product);
        break;  // because of this line the loop breaks on first iteration.
}
Run Code Online (Sandbox Code Playgroud)

break;从代码中删除它将起作用.