Почему компилятор ругается на то, что else относится к if? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Kомпилятор ругается на то,что else относится к if [Error] 'else' without a previous 'if' Вот собственно код:
#include <stdio.h>
#include <string.h>
#define MAX 81
 
int main(void)
{
    char arr[MAX];
    int i,l,n=0;
    gets(arr);
    l=strlen(arr);
    for (i=l;i>0;i--)
    {
        if (arr[i]!=' ')
            n++;
            for(i=n-1;i>0;i--)
                printf("%c",arr[i]);
        else
        break;
    }
    return 0;
}
Сам понял,забыл скобки поставить

Решение задачи: «Почему компилятор ругается на то, что else относится к if?»

textual
Листинг программы
if (arr[i]!=' ') {
    n++;
    for(i=n-1;i>0;i--) printf("%c",arr[i]);
}
else
        break;

Объяснение кода листинга программы

В представленном коде выполняется обработка массива символов. Вот список действий:

  1. Проверка условия: если символ в массиве arr[i] не равен пробелу (` '), то выполняются следующие действия.
  2. Увеличение значения переменной n на единицу. Переменная n инициализирована нулём до начала цикла.
  3. Выполнение цикла for, который начинается с n-1 и идёт до тех пор, пока значение i больше нуля. В каждой итерации цикла выводится символ из массива arr[i].
  4. Если условие в начале цикла не выполнилось (то есть, первый символ массива arr равен пробелу), то выполнение кода завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы