gpt4 book ai didi

c - 为什么这个程序没有输出?

转载 作者:行者123 更新时间:2023-11-30 19:54:05 24 4
gpt4 key购买 nike

我有一个程序由于其中有 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;
}

预期输出为:1 2 3 4 5 6 7 8 10 11 12 13 15 16 18 19

没有打印任何内容。

最佳答案

for 循环条件出现错误。您想要编写 counter != maxloops 而不是 counter==maxloops

否则,循环条件不满足,循环体根本不会执行。

也就是说,根据您的要求,

  1. 您需要移动检查 block

    if (counter == takenNum1 || counter == takenNum2 || counter == takenNum3 || counter == takenNum4 || counter == takenNum5)
    {
    counter++;
    continue;
    }

    printf() 语句之前,以避免无条件打印。

  2. for 循环条件应该看起来像

    for (counter=1; counter < numloop; counter++)
    ^^^^^^^^^^

    因为您希望输出限制为19

关于c - 为什么这个程序没有输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41397854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com