Czy petla while moze miec w swoim warunku konczącym pętle po prostu nazwe zmiennej? np.
while(tab[i]){
}
Bo jeśli tak to nie rozumiem- co ten warunek oznacza?
Czy petla while moze miec w swoim warunku konczącym pętle po prostu nazwe zmiennej? np.
while(tab[i]){
}
Bo jeśli tak to nie rozumiem- co ten warunek oznacza?
while (i)
jest równoznaczne z while (i != 0)
- wynika to wprost z definicji prawdy i fałszu w C++, gdzie 0 = fałsz, a jakakolwiek inna liczba = prawda.
To jak powinienem zinterpretować taką funkcję?
int i = 0, j = 0;
while (tab[i]!=0)
{
if (tab[i] != ' ')
tab[j++] = tab[i];
i++;
}
return tab;
}
-pętla while która się wykonuje do czasu gdy wartość pod indeksem "i" będzie fałszywa?
Niekoniecznie zawsze chodzi w takim przypadku o fałsz. Z jednej strony – możesz nadać elementowi tablicy, lub lepiej: całej tablicy, explicite znaczenie "prawda/fałsz" (np. tablica określa dla każdego ucznia, czy zdał egzamin czy nie, a dopuszczalne wartości dla każdego elementu to 0
oraz 1
). Z drugiej strony – możesz traktować wartości w tablicy np. jako informację o kodzie błędu/wyjątku. W tym drugim przypadku wartość 0
oznaczałaby, że błędu/wyjątku nie ma (teoretycznie to może być interpretowane jako "fałsz", ale w praktyce – jako rodzaj błędu/wyjątku), a każda inna wartość oznaczałaby konkretny jego rodzaj (np. dzielenie przez zero; dopuszczalne wartości dla każdego elementu to np. od 0
do 20
).