Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Poziom 2 - Rozdział 20 (Funkcje, a słowo kluczowe return) - problem ze zrozumieniem

Ostatnio zmodyfikowano 2018-06-13 21:41
Autor Wiadomość
Key
Temat założony przez niniejszego użytkownika
Poziom 2 - Rozdział 20 (Funkcje, a słowo kluczowe return) - problem ze zrozumieniem
» 2018-06-13 18:44:02
W części tego rozdziału "Słowo kluczowe return w funkcjach niezwracających wartości" jest podany niżej przykład i mam problem ze zrozumieniem działania funkcji "dopisz". Jak to działa?
"iLiczba" wynosi 123 i równa się "tablica [0]" bo "int liczbaElementow = 0". Wtedy "ile" się zwiększa o 1 i funkcja zwraca "ile" i wychodzi 123. Jak "ile" staje się liczbą 123? Kompletnie tego nie rozumiem. Według mnie, skoro ile wynosi 0 i zwiększy się o 1 to powinno wynosić 1. Skąd te 123?

C/C++
#include <iostream>

void wyswietl( int tablica[], int ile )
{
    if( ile <= 0 )
    {
        std::cout << "Tablica jest pusta." << std::endl;
        return;
    } //if
   
    int i = 0;
    do
    {
        std::cout << tablica[ i ] << ", ";
        i++;
    } while( i < ile );
   
    std::cout << std::endl;
}

int dopisz( int iLiczba, int tablica[], int ile )
{
    tablica[ ile ] = iLiczba;
    ile++;
    return ile; //zwraca ile jest elementów po dodaniu nowego
}

int main()
{
    int liczbaElementow = 0;
    int tablicaLiczb[ 10 ];
    wyswietl( tablicaLiczb, liczbaElementow );
   
    liczbaElementow = dopisz( 123, tablicaLiczb, liczbaElementow );
    wyswietl( tablicaLiczb, liczbaElementow );
   
    liczbaElementow = dopisz( 321, tablicaLiczb, liczbaElementow );
    wyswietl( tablicaLiczb, liczbaElementow );
    return 0;
}
P-171541
pekfos
» 2018-06-13 19:09:24
Jak "ile" staje się liczbą 123?
A staje się?
P-171542
Key
Temat założony przez niniejszego użytkownika
» 2018-06-13 19:39:53
Funkcja zwraca argument "ile" i wtedy "liczbaElementow" wynosi właśnie tyle, co ten argument. Przynajmniej tak myślę. Czyli wynosi 123.
P-171544
garlonicon
» 2018-06-13 19:46:44
"liczbaElementow" wynosi właśnie tyle, co ten argument
A weź sprawdź. Wypisz na ekran, zobacz pod debuggerem, cokolwiek.
P-171545
pekfos
» 2018-06-13 19:47:30
Powinieneś sprawdzić, jeśli masz wątpliwości.
C/C++
std::cout << liczbaElementow << '\n';
P-171546
Key
Temat założony przez niniejszego użytkownika
» 2018-06-13 21:41:06
Już rozumiem, o co chodzi. Moje wcześniejsze założenia były całkowicie nieprawidłowe.
P-171550
« 1 »
  Strona 1 z 1