Почему компилятор ругается на то, что 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;
Объяснение кода листинга программы
В представленном коде выполняется обработка массива символов. Вот список действий:
- Проверка условия: если символ в массиве
arr[i]
не равен пробелу (` '), то выполняются следующие действия. - Увеличение значения переменной
n
на единицу. Переменнаяn
инициализирована нулём до начала цикла. - Выполнение цикла
for
, который начинается сn-1
и идёт до тех пор, пока значениеi
больше нуля. В каждой итерации цикла выводится символ из массиваarr[i]
. - Если условие в начале цикла не выполнилось (то есть, первый символ массива
arr
равен пробелу), то выполнение кода завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д