Jaki będzie wynik działania poniższego kodu w języku C++?
Jaki będzie wynik działania poniższego kodu w języku C++?
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: C
C. 10 20 30 40 50 – Kod poprawnie iteruje przez tablicę za pomocą wskaźnika. Przeanalizujmy pętlę for:
int *ptr = arr;: Inicjalizacja. Wskaźnikptrzostaje ustawiony tak, aby wskazywał na pierwszy element tablicyarr.ptr < arr + size;: Warunek kontynuacji.arr + sizeto adres w pamięci tuż za ostatnim elementem tablicy. Pętla będzie wykonywana tak długo, jak wskaźnikptrwskazuje na elementy należące do tablicy.ptr++: Inkrementacja. Przesuwa wskaźnik na następny element tablicy (osizeof(int)bajtów).std::cout << *ptr << " ";: Ciało pętli. Operator*(dereferencji) pobiera wartość, na którą aktualnie wskazujeptr, i ją wypisuje.
Dlaczego inne odpowiedzi są nieprawidłowe:
A. Kod spowoduje błąd kompilacji – Kod jest w pełni poprawny składniowo.
B. Zostaną wypisane adresy pamięci... – Aby wypisać adresy, należałoby użyć
std::cout << ptr;(bez operatora dereferencji*).D. 10 20 30 40 – Taki wynik zostałby uzyskany, gdyby warunkiem było
ptr < arr + size - 1, co spowodowałoby pominięcie ostatniej iteracji.
Chcesz poćwiczyć całą kwalifikację INF.04?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Język programowania C++Wieloparadygmatowy, kompilowany bezpośrednio do kodu maszynowego język programowania ogólnego przeznaczenia, oferujący bezpośrednie zarządzanie pamięcią i najwyższą wydajność.
- Wskaźnik i Referencja w C++Wskaźnik przechowuje adres w pamięci operacyjnej (*ptr), a referencja stanowi bezpieczny alias (drugą nazwę) dla istniejącej zmiennej (&ref).
- Wskaźnik i Zarządzanie Pamięcią (Pointers)Zmienna przechowująca adres innej komórki pamięci RAM zamiast bezpośredniej wartości, operująca za pomocą operatora pobrania adresu (&) i dereferencji (*).
Podobne pytania z działu „Jezyk cpp skladnia i pamiec”
Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 25 pytań z tego działu.
- #183
Którą wartość zwróci funkcja zapisana językiem C++, jeżeli jej parametr wejściowym jest tablica utworzona w następujący sposób: int tablica[] = {3,4,2,4,10,0};?
- #193
Wywołanie funkcji zamien napisanej w języku C++ może wyglądać następująco
- #194
W programie napisanym w języku C++ należy utworzyć zmienną, która przechowa liczbę rzeczywistą. Określ typ tej zmiennej
- #196
Co stanie się po wykonaniu przedstawionego fragmentu kodu napisanego w języku C++?
- #203
W wyniku wykonania przedstawionego kodu napisanego w języku C++ w konsoli zostanie wyświetlony ciąg liczb