[英]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.