Rus*_*Rai -2 c for-loop if-statement continue break
我有一个程序由于其中的for循环而无法正常工作.我在这里粘贴了一段代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numLoop = 19;
int counter;
int maxloops = 25;
int takenNum1 = 9, takenNum2 = 14, takenNum3 = 17, takenNum4 = 21, takenNum5 = 24;
for (counter=1; counter==maxloops; counter++)
{
printf("%d \n", counter);
if (counter == numLoop)
{
break;
}
if (counter == takenNum1 || counter == takenNum2 || counter == takenNum3 || counter == takenNum4 || counter == takenNum5)
{
counter++;
continue;
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
预期的产出是: 1 2 3 4 5 6 7 8 10 11 12 13 15 16 18 19
什么都没打印出来.
该for循环条件出现马车.你想写counter != maxloops而不是counter==maxloops.
否则,不满足循环条件,并且根本不执行循环体.
那说,根据你的要求,
你需要移动检查块
if (counter == takenNum1 || counter == takenNum2 || counter == takenNum3 || counter == takenNum4 || counter == takenNum5)
{
counter++;
continue;
}
Run Code Online (Sandbox Code Playgroud)
在printf()声明之前,以避免无条件打印.
该for循环条件应该真正的样子
for (counter=1; counter < numloop; counter++)
^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
因为您希望输出限制为19.
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |