Если вы хотите повторить 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
часть выполняется после указанного количества раз, прежде всего вы должны уточнить, сколько раз вы собираетесь выполнить l oop. Лучше, если вы опубликуете полный пример, как указано в Как создать пример Minimal, Complete и Verifiable Допустим, вы находитесь в for
l oop, который будет выполнен 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()
.