>> DAVID MALAN: Załóżmy teraz ulepszyć program ten nieco dalej.
Czy nie byłoby miło, gdyby toupper mógł wielką literę, jeśli małe litery, a
jeśli nie małe, przejście to poprzez niezmieniony?
Innymi słowy, mogę wymienić moja if-else bloku z
jedno zaproszenie do toupper?
>> Cóż, aby odpowiedzieć na to pytanie, Chciałbym najlepiej skonsultować
Dokumentacja ToUpper.
Aby to zrobić, pozwól mi otworzyć większy terminalu okno poza gedit i
wpisz man toupper, co co oznacza, że ​​chciałbym, aby otworzyć
tak zwana strona man dla toupper funkcji.
Po uderzeniu Enter, widzę ekran jak ten.
A teraz zauważyć, że wydają się mieć w połączeniu z dokumentacją ToUpper
z tym na górnej tolower.
Ale nie ważne.
>> Można zauważyć, że na podstawie streszczenia Przypomina mi, że, rzeczywiście, aby skorzystać z tej
Funkcja, muszę m.in. ctype.h plik nagłówka.
Poniżej widać, że toupper jest zadeklarowane jako powrocie int i
akceptując int, który jest nieco ciekawa, ponieważ do tej pory, byłem
manipulując tylko znaków.
Ale to jest OK.
Okazuje się, że jest to tylko konwencja, i możemy nadal korzystać z C jako
choć to char, choć jest zadeklarowana jako int.
>> Teraz, w opisie tutaj, widzę, że toupper przekształca literę c
duże litery, jeśli to możliwe.
I na wartości zwracanej, widzę, że Wartość zwracana jest to, że
przekształcony litery lub C, jeżeli takie przekształcenie nie jest możliwe.
I nie ma w pigułce Szukałem.
Jeśli c jest w rzeczywistości małe list, wydaje się, że toupper będzie
po prostu przekazać go wraz niezmienione.
>> Więc teraz do mojego kodu.
I niech teraz usunąć całość ten blok warunkowy i zastąpić ją,
po prostu z printf% c przecinkami toupper S wspornika i zamknąć paren
zamknij nawias średnik, a tym samym co oznacza, że ​​chcę zastąpić% c
z kapitalizacją ego pismo ws jeśli i-ty
List w s jest małe litery.
A nawet jeśli nie, to będzie przeszedł przez niezmienione.
>> Załóżmy teraz skompilować program z dokonać capitalize2 i uruchomić go z
capitalize2 znowu pisanie komentarzy.
I rzeczywiście, wrócimy wielkich liter.
Niech jeszcze raz wpisać David.
I to też jest wielkie.