в функцию, применяется только к тем вызовам которые делются из этой функции"
Может кто-нибудь объяснить как это?
Скажем я написал программу
int sqr(int x) {
double smth(int);
return smth(x) * x;
}
int main(void) {
printf("%d", sqr(2));
return 0;
}
double smth(int y) {
return y + y;
}
Они это имели ввиду?
Типо если я вызову из main ф-цию smth то получу варнинг и не получу желаемого результата? Тогда в чем прикол написания прототипов функций внутри функций? Где это может быть применено?
В main имя smth недоступно. Компилятор не знает, что это такое. Чтобы компилятор понял либо выносим объявление перед main и sqr, либо объявляем так же, как в sqr
Обсуждают сегодня