Когда компилятор выдает сообщения об ошибках, самый надежный метод - запуск с первого сообщения об ошибке first . (Иногда сообщения могут создаваться не по порядку; в этом случае начинайте с того, которое относится к наименьшему номеру строки в вашем коде.)
Если у вас есть синтаксическая ошибка, компилятору может быть трудно понять, что вы имели в виду. Он часто делает предположение о том, что вы должны написали, но это предположение может быть неверным. Компиляторы иногда особенно плохо угадывают наличие пропущенных точек с запятой.
Судя по полученным сообщениям об ошибках, вы, вероятно, используете gcc. Когда я компилирую ваш код, первое сообщение, которое я получаю:
c.c: In function ‘calculateAge’:
c.c:9:23: error: expected expression before ‘<=’ token
Строка 9:
if (temp >= 33 && <= 62 && gender == 'm' || temp >= 30 && <= 62 && gender == 'f') {
и столбец 23 - первый оператор <=
.
Как это происходит, это конкретное сообщение точно говорит вам, в чем проблема (вам нужно выражение до <=
), но в случаях, когда само сообщение неясно, рассматривайте его как признак того, что есть что-то неправильно в том месте, куда он указывает, или, может быть, немного перед ним (скажем, в предыдущей строке).
Исправьте эту ошибку, перекомпилируйте и сделайте то же самое с первой ошибкой, сообщенной в новой версии файла.
Поскольку вы лучше понимаете язык и свой компилятор, вы сможете понять, что он делает, и исправить сразу несколько ошибок. Но пока исправление одной ошибки за раз является хорошим подходом.
Некоторые другие примечания к вашему коду:
Удалить эту строку:
#include<conio.h>
Это непереносимо, и вы все равно не используете ничего из <conio.h>
.
void main()
неверно; должно быть int main(void)
.