簡體   English   中英

在一些計數后執行下一個 else 語句

[英]Executing next else statement after some counting

如果 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部分,首先你必須明確你要執行多少次循環。 如果你發布一個完整的例子會更好,如如何創建一個最小、完整和可驗證的例子中所述假設你處於一個將執行 20 次的for循環中......並且在第五次之后你希望它執行不同的功能。

如果您通過以下方式更改上面的代碼:

[...]
        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()

是這樣的:

if (x<2)
       doSomething;
else if (count <= 5)
      count++;
else
      doSomethingElse;

不太清楚什么時候做其他事情,但如果你想在 count>5 時做其他事情而不管 x 的值,試試這個:

if ( count > 5 ) {
   doSomethingElse;
} else {
   if ( x < 2 ) {
      doSomething;
   } else {
      count++;
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM