Как я уже упоминал в комментарии, ваш код кажется Java-кодом, а не C. С и синтаксис Java очень похожи, но есть некоторые различия.Во-первых, C по умолчанию не имеет логического типа, и вы должны включить заголовок stdbool.h
, как упомянуто @Weather Vane.Убедитесь, что вы изменили тип boolean
на bool
для соответствия синтаксису C:
bool swapped = true;
Другое дело, что массив C не имеет свойства length
, как в массиве Java.Вы можете получить длину массива в C, используя функцию sizeof
вместо:
size_t arr_length = sizeof(arr)/sizeof(arr[0]);
Обновление: Как упомянуто в комментарии @Weather Vane, убедитесь, что вы инициализировали массив и получилиего длина внутри той же функции для правильной работы функции sizeof
.Если вы передадите массив в функцию, вы не сможете получить его длину, используя sizeof
, потому что он будет иметь только размер указателя int *
вместо массива int []
.