Моя программа выглядит следующим образомПочему следующая программа C компилируется без ошибок?
#include <stdio.h>
int getTriangle(num) {
if (num == 1) {
return num;
} else {
return num + getTriangle(num - 1);
}
}
int main()
{
int tri = getTriangle(7);
printf("%i\n", tri);
return 0;
}
Я нечаянно сделал ошибку, не объявляя тип NUM в моей функции getTriangle. Другими словами, строка должна гласить:
int getTriangle(int num) {
Однако, когда я компилирую
make euler012
cc euler012.c -o euler012
и запустить
./euler012
28
Все кажется OK. Разве это не должно быть причиной ошибки или предупреждения?