61
задан 18 December 2015 в 14:41

2 ответа

Я выполнил бы это с простой переменной помощника:

#include <stdio.h>
#include <stdbool.h>

int main()

{
    bool b;
    printf("Numbers which are multiples of 7:\n");

    for (int i=8; b=(i<12); i++)
    {
        if (i%7==0)
        {
            printf("%d", i);
            break;
        }
    }
    if (!b)
    {
        printf("no numbers found\n");
    }
    return 0;
}

Таким образом, необходимо реализовать условие (в вышеупомянутом примере i<12) только в одном месте.

0
ответ дан 31 October 2019 в 16:00

Я приехал сюда, потому что у меня был тот же вопрос в C все же. Лучшая вещь, которую я выпустил,

bool notTerminated = true;
for (int i = 0; i < 50 || (notTerminated = false); i++)
    if (bar(i))
        break;
if (! notTerminated)
    baz();

Объяснение: эти (notTerminated = false) присвоение, которое будет всегда возвращать ложное значение, оно никогда не будет влиять на условие и будет оценено iif условие, если верный.

0
ответ дан 31 October 2019 в 16:00

Другие вопросы по тегам:

Похожие вопросы: