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)
然后.但是,而不是仅仅乘i用d = 2,我也得到了以下内容:
4
6
8
10
.
.
.
20
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
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;从代码中删除它将起作用.