В первом случае вы пытаетесь запустить исходный файл C как скрипт оболочки.Это не то, как вы запускаете программу на Си.Вы делаете это, сначала компилируя программу и запуская полученный исполняемый файл.
Причина, по которой вы получаете ошибку компиляции, заключается в том, что вы используете функцию cos
, которая находится в математической библиотеке, которая не связанапо умолчанию.Вам нужно добавить -lm
в конце вашей команды компиляции, чтобы связать эту библиотеку.
gcc -g -Wall -Wextra -o math_functions math_functions.c -lm
Кроме того, причина, по которой вы получаете предупреждение о возвращаемом типе по умолчанию int
, заключается в том, чтоваша основная функция не имеет указанного типа возвращаемого значения.Поставьте int перед объявлением, и все будет в порядке, т.е.
int main()