W C++ tablice (oraz typowe kontenery sekwencyjne, np. wektor) są indeksowane od zera. Oznacza to, że jeśli tablica ma n elementów, to poprawne indeksy mieszczą się w zakresie od 0 do n-1. Pierwszy element znajduje się pod indeksem 0, drugi pod 1, trzeci pod 2 itd.
Odpowiedź "zera." jest poprawna, ponieważ wynika z tego, jak w C/C++ działa arytmetyka wskaźników i adresowanie pamięci: zapis tablica[i] odpowiada przesunięciu o i elementów od początku tablicy. Dla pierwszego elementu przesunięcie wynosi 0.
Dlaczego pozostałe odpowiedzi są niepoprawne:
- "jedynki." – to częsty nawyk z matematyki lub numerowania pozycji na liście. W programowaniu w C++ prowadzi to do błędów typu off-by-one, np. pomijania pierwszego elementu albo próby odwołania się do elementu poza zakresem.
- "dwóch." – nie jest standardem w C++. Indeks 2 oznacza dopiero trzeci element tablicy, więc traktowanie go jako początku byłoby arbitralne i niezgodne z praktyką.
- "końca." – indeksowanie nie "zaczyna się od końca"; można oczywiście iterować od końca do początku, ale nadal używa się indeksów liczonych od 0, a ostatni poprawny indeks to n-1.
Wskazówka egzaminacyjna: jeśli widzisz pętlę po tablicy w C++, najczęściej poprawny schemat to start od 0 i warunek "mniejsze niż rozmiar" (a nie "mniejsze lub równe"). To bezpośrednio wynika z indeksowania od zera.