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

Rozdział 17, funkcje, zadanie domowe

Ostatnio zmodyfikowano 2015-08-09 15:22
Autor Wiadomość
pekfos
» 2015-08-09 15:22:11
Funkcje mają niezdefiniowane zachowanie, jeśli start i stop są sobie równe. Wystarczyłoby samo else w pierwszym, a w drugim trzeba dodatkowo zmienić operator porównania na łapiący dodatkowo równość.
Poza tym, po co tu else? Jeśli warunek w if się spełni, funkcja się zakończy. Wszystko po if jest wtedy jakby w jego else. Po co to pisać..? Dodatkowo, stricte kosmetycznie, można najpierw łapać niepoprawne przypadki, a potem tylko zostawić właściwe działanie. Mniej roboty przy przerabianiu na asercje, które byłyby tu właściwszym podejściem.
C/C++
int wylosuj( int start, int stop )
{
    assert( stop >= start );
    return start + rand() %( stop - start + 1 );
}
P-135924
1 « 2 »
Poprzednia strona Strona 2 z 2