Страницы

Поиск по вопросам

понедельник, 1 апреля 2019 г.

Почему не выполняется вторая функция написанная после main?

В нижеприведённом коде вторая функция не выполняется, будто бы её там вообще нет. Ума не приложу, в чём дело. Использую Dev-C++ 4.9.9.2.
int main() { int a; a=30; printf("%d

",a); system("PAUSE"); return a; }
int kek() { int b; b=40; printf("%d

",b); system("PAUSE"); return 0; }


Ответ

Точкой входа в программу является функция main. Она вызывается при запуске вашей программы. В C функция main без параметров должна быть объявлена как
int main( void ) { //... }
Из стандарта C (5.1.2.2.1 Program startup):
1 The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters: int main(void) { /* ... */ }
Все остальные функции получают управление только лишь, если они вызываются в вашей программе.
Если вы используете библиотечные функции, то вы должны включить в программу заголовки, где эти функции объявляются.
Ваша программа могла бы выглядеть следующим образом:
#include #include
int kek();
int main( void ) { int a; a=30;
printf("%d

",a);
kek();
system("PAUSE"); return a; }
int kek() { int b; b=40;
printf("%d

",b);
system("PAUSE");
return 0; }

Комментариев нет:

Отправить комментарий