1 00:00:00,000 --> 00:00:00,280 2 00:00:00,280 --> 00:00:02,240 >> DAVID MALAN: Załóżmy teraz ulepszyć program ten nieco dalej. 3 00:00:02,240 --> 00:00:06,510 Czy nie byłoby miło, gdyby toupper mógł wielką literę, jeśli małe litery, a 4 00:00:06,510 --> 00:00:08,880 jeśli nie małe, przejście to poprzez niezmieniony? 5 00:00:08,880 --> 00:00:12,110 Innymi słowy, mogę wymienić moja if-else bloku z 6 00:00:12,110 --> 00:00:13,960 jedno zaproszenie do toupper? 7 00:00:13,960 --> 00:00:16,000 >> Cóż, aby odpowiedzieć na to pytanie, Chciałbym najlepiej skonsultować 8 00:00:16,000 --> 00:00:17,630 Dokumentacja ToUpper. 9 00:00:17,630 --> 00:00:22,100 Aby to zrobić, pozwól mi otworzyć większy terminalu okno poza gedit i 10 00:00:22,100 --> 00:00:26,060 wpisz man toupper, co co oznacza, że ​​chciałbym, aby otworzyć 11 00:00:26,060 --> 00:00:29,060 tak zwana strona man dla toupper funkcji. 12 00:00:29,060 --> 00:00:31,580 Po uderzeniu Enter, widzę ekran jak ten. 13 00:00:31,580 --> 00:00:34,750 A teraz zauważyć, że wydają się mieć w połączeniu z dokumentacją ToUpper 14 00:00:34,750 --> 00:00:37,010 z tym na górnej tolower. 15 00:00:37,010 --> 00:00:38,010 Ale nie ważne. 16 00:00:38,010 --> 00:00:41,640 >> Można zauważyć, że na podstawie streszczenia Przypomina mi, że, rzeczywiście, aby skorzystać z tej 17 00:00:41,640 --> 00:00:45,220 Funkcja, muszę m.in. ctype.h plik nagłówka. 18 00:00:45,220 --> 00:00:49,520 Poniżej widać, że toupper jest zadeklarowane jako powrocie int i 19 00:00:49,520 --> 00:00:52,720 akceptując int, który jest nieco ciekawa, ponieważ do tej pory, byłem 20 00:00:52,720 --> 00:00:54,370 manipulując tylko znaków. 21 00:00:54,370 --> 00:00:55,310 Ale to jest OK. 22 00:00:55,310 --> 00:00:59,070 Okazuje się, że jest to tylko konwencja, i możemy nadal korzystać z C jako 23 00:00:59,070 --> 00:01:01,990 choć to char, choć jest zadeklarowana jako int. 24 00:01:01,990 --> 00:01:05,850 >> Teraz, w opisie tutaj, widzę, że toupper przekształca literę c 25 00:01:05,850 --> 00:01:07,980 duże litery, jeśli to możliwe. 26 00:01:07,980 --> 00:01:11,520 I na wartości zwracanej, widzę, że Wartość zwracana jest to, że 27 00:01:11,520 --> 00:01:15,320 przekształcony litery lub C, jeżeli takie przekształcenie nie jest możliwe. 28 00:01:15,320 --> 00:01:17,120 I nie ma w pigułce Szukałem. 29 00:01:17,120 --> 00:01:21,060 Jeśli c jest w rzeczywistości małe list, wydaje się, że toupper będzie 30 00:01:21,060 --> 00:01:23,450 po prostu przekazać go wraz niezmienione. 31 00:01:23,450 --> 00:01:25,750 >> Więc teraz do mojego kodu. 32 00:01:25,750 --> 00:01:30,480 I niech teraz usunąć całość ten blok warunkowy i zastąpić ją, 33 00:01:30,480 --> 00:01:40,240 po prostu z printf% c przecinkami toupper S wspornika i zamknąć paren 34 00:01:40,240 --> 00:01:45,120 zamknij nawias średnik, a tym samym co oznacza, że ​​chcę zastąpić% c 35 00:01:45,120 --> 00:01:49,050 z kapitalizacją ego pismo ws jeśli i-ty 36 00:01:49,050 --> 00:01:50,530 List w s jest małe litery. 37 00:01:50,530 --> 00:01:53,710 A nawet jeśli nie, to będzie przeszedł przez niezmienione. 38 00:01:53,710 --> 00:01:58,790 >> Załóżmy teraz skompilować program z dokonać capitalize2 i uruchomić go z 39 00:01:58,790 --> 00:02:01,800 capitalize2 znowu pisanie komentarzy. 40 00:02:01,800 --> 00:02:03,800 I rzeczywiście, wrócimy wielkich liter. 41 00:02:03,800 --> 00:02:05,090 Niech jeszcze raz wpisać David. 42 00:02:05,090 --> 00:02:06,340 I to też jest wielkie. 43 00:02:06,340 --> 00:02:09,380