Co zwroci podana funkcja

Co zwroci podana funkcja

Wątek przeniesiony 2015-09-02 11:03 z C/C++ przez ŁF.

balti
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 156
0

Jaki będzie wynik wywołania lit('B') i lit('b') dla poniższej funkcji. Nie mam najmniejszego pojęcia o co tu chodzi jak by ktoś umiałby to rozpisać bym był bardzo wdzięczny.

Kopiuj
 

char lit(char c)
{
return 'a' <= c && c <= 'z' ?c : 'a' + c - 'A';
}

Podobno w obu przypadkach B.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Sprawdź.

pingwindyktator
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1055
1

Wiesz czym jest ten operator ternarny?
'a' <= c porównuje kody ascii tych char'ow. Analogicznie ten zapis 'a' + c to dodanie tych kodów do siebie.

'a' <= c && c <= 'z' jeśli c jest pomiędzy 'a' i 'z' to zwraca c
'a' + c - 'A' w przeciwnym wypadku robi takie coś smiesznego (wyjaśnione wyżej).
Ta funkcja zwraca dla wielkich liter ich "mały odpowiednik".

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.