W językach C i C++ wykonanie programu rozpoczyna się w funkcji o nazwie main. Jest to standardowy punkt wejścia (entry point) dla typowego programu uruchamianego jako aplikacja. System uruchamia program, a środowisko uruchomieniowe przekazuje sterowanie właśnie do tej funkcji.
Odpowiedź "Nosząca nazwę main." jest poprawna, bo to nazwa funkcji determinuje jej rolę jako startu programu, a nie jej położenie w pliku czy typ zwracany.
- Odpowiedź "Znajdująca się jako ostatnia w programie." jest błędna: kolejność definicji funkcji w pliku źródłowym nie oznacza kolejności wykonywania. Funkcje mogą być definiowane w dowolnym miejscu, a o wywołaniach decyduje kod (np. wywołania z main).
- Odpowiedź "Znajdująca się jako pierwsza w programie." jest błędna z tego samego powodu: to nie jest język interpretowany linia po linii od początku pliku; kompilacja i linkowanie tworzą program, którego start jest zdefiniowany przez punkt wejścia.
- Odpowiedź "Typu void." jest błędna, bo typ zwracany nie przesądza o roli funkcji jako startowej. Co więcej, w praktyce funkcja main ma określone dopuszczalne postacie (najczęściej zwraca kod zakończenia), a "void" bywa mylone z "funkcją, która nic nie zwraca", co nie definiuje "główności".
Wskazówka egzaminacyjna: gdy pytanie dotyczy programu głównego w C/C++, szukaj odpowiedzi odnoszącej się do nazwy main lub do pojęcia punktu wejścia, a nie do kolejności w pliku czy do typu zwracanego.