2016-01-29 6 views
0

Ive был кодированием в c, и у меня есть массив, который является только char array[22], Я могу успешно заполнить массив данными. в массиве есть несколько числовых значений, и я хочу проверить, попадают ли они в определенный диапазон, например, больше 0 и меньше 10 и т. д. У меня есть функция, void array_check(testarray[]) объявить перед main. функция вызывается внутри main т.е. array_check(testarray[9]) Так что это должно пройти указательный номер функции 9, а функция должна проверить, если значение индекса 9 между диапазоном и т.д.Передача функции определенного значения индекса массива

Я не могу получить программу для правильной компиляции. в объявлении функции я бы подумал, что это будет примерно так: void array_check(testarray[i]) где, когда я вызываю функцию в main, я бы обозначил индекс для проверки. Компилятор говорит мне, что дефрагментация функции и сама функция должны иметь постоянное значение. Это не позволит мне оставить значение [i] в квадратных скобках. есть идеи? спасибо, ребята

ответ

1

Если вы звоните check(array[9]), вы просто проходящее полукокс хранящегося в индексе 9 в массиве, и ваша функция должна быть объявлены как

void check(char); 

После того, как вы индексируетесь массив любого тип, чтобы получить элемент в этом индексе, нет ничего волшебного arrayish про элемент - это обычный объект такого типа (в данном случае char).

+0

Здравствуйте, Благодарим вас за быстрый ответ. Ive объявила эту функцию как void array_check (char), я вызываю функцию типа array_check (testarray [4]) и т. Д., Где сама функция начинается, компилятор говорит «неназванные прототипированные параметры не разрешено, когда тело присутствует » – cfcorp

+0

Я только что показал объявление функции - если вы его определяете, вам нужно дать этому символу аргумент имя. Вы также должны размещать свой фактический код в вопросах, а не на стене текста, его гораздо легче читать. И, наконец, это довольно простой материал - я должен рекомендовать вам попробовать книгу или учебник или что-то в этом роде, изучая этот уровень, задавая вопросы, потребуется много времени. – Useless