Почему компилятор ругается на то, что 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
равен пробелу), то выполнение кода завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д