c - 经过一些计数后执行下一个 else 语句

标签 c if-statement

如果 x <2,那么我们执行一些代码,否则如果 x>2 重复超过 5 次,那么我们执行另一个代码。这项任务的正确结构是什么?

int counter =0;
int=x;
if (x<2)
       doSomething;
else 
      count++
else if (count>5)
      doSomethingElse;

最佳答案

如果你想重复something() n次,然后执行something_else(),那么最好是

#include <stdio.h>
#include <stdlib.h>

#define WHERE_I_AM()     do{ printf("in %s\n", __func__);} while(0)

void do_something()
{
        WHERE_I_AM();
}

void do_something_else()
{
        WHERE_I_AM();
}

int main()
{
        int n_times = 5;

        while(n_times--)
                do_something();
        do_something_else();

        exit(EXIT_SUCCESS);
}

这会遇到

$ pru
in do_something
in do_something
in do_something
in do_something
in do_something
in do_something_else
$ _

如果你想像你说的那样,在指定的次数后执行下一个else部分,首先你必须弄清楚你要执行多少次环形。如果您发布完整的示例,如 How to create a Minimal, Complete, and Verifiable example 中所述,那就更好了假设您处于一个 for 循环中,该循环将执行 20 次...并且在第五次之后您希望它执行不同的函数。

如果您通过以下方式更改上面的代码:

[...]
        int n_times_first = 5;
        int n_times_total = 20;
        int i;

        for(i = 0; i < n_times_total; i++) {
                if (i < n_times_first)
                        do_something();
                else
                        do_something_else();
        }

        exit(EXIT_SUCCESS);
[...]

但这次您将执行 5 次 do_something() 和 15 次 do_something_else()

关于c - 经过一些计数后执行下一个 else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59696800/

相关文章:

if-statement - 如何简化返回true或false的IF语句?

java - 使用 for 循环的 ASCII 字符范围

C - 强制与 _Alignas 说明符对齐 - 为什么要内存填充?

c - void类型函数如何在没有指针的情况下将值返回到C中的局部变量?

c - 未知 "for"语句 (C)

java - 即使语句有效,也不输入 if 条件

python - 为什么这个 python 逻辑语句的行为与我的预期行为相反?

c - 没有第二个条件的循环,即 bool 检查?

c - 箭头指出 C 中用户的错误输入

r - 使用Ifelse时Igraph无效索引错误