Я кодирую в с, и у меня есть массив, который просто char array[22]
,
Я могу успешно заполнить массив данными. в массиве есть несколько числовых значений, и я хочу проверить, находятся ли они в определенном диапазоне, т.е. 0
и меньше чем 10
и т.п.
У меня есть функция, void array_check(testarray[])
объявить до main
,
функция вызывается внутри main
то есть array_check(testarray[9])
Так что это должно передать номер индекса функции 9
и функция должна проверить, если значение индекса 9
находится между диапазоном и т. д.
Я не могу заставить программу правильно скомпилировать. в объявлении функции я бы подумал, что это будет что-то вроде этого void array_check(testarray[i])
где, когда я вызываю функцию в main
Я бы обозначил индекс для проверки. Компилятор говорит мне, что функция decaration и сама функция должны иметь постоянное значение. Это не позволит мне покинуть [i]
значение в квадратных скобках. есть идеи?
Спасибо, парни
Если вы позвоните check(array[9])
, вы просто передаете символ, хранящийся в индексе 9 в массиве, и ваша функция должна быть объявлена как
void check(char);
После того, как вы проиндексировали массив любого типа, чтобы получить элемент по этому индексу, нет ничего волшебного arrayish об элементе — это просто обычный объект этого типа (в данном случае char
).
Других решений пока нет …