DAVID J. Malan: Dejme tomu, že bych chtěl realizovat program, který vyzve uživatel na řetězec a pak pokračuje využít jejich přínos, Převod jakékoli malá písmena že typ na velká písmena. Dobře, pojďme do toho a provádění tohoto programu. 

Pojďme si nejprve jsou následně cs50.h které zahrnují stdio.h. A tak, že můžeme použít strlen, pojďme patří string.h. 

Pojďme další deklarovat hlavní jako int main prázdno a pojďme nyní pokračovat na výzvu uživatel na provázku. Printf, pojďme vyzve je pro nějaký vstup. Nyní pojďme deklarovat řetězec - zavoláme je to - a uložit do ní výsledek volání CS50 knihovna funkce GetString. 

Pojďme se nyní přistoupit k iteraci každý z charakterů v s, vydělávat nějaké malá písmena, které vidíme. Pro int, i se 0. Pojďme se také prohlásit n jako je rovna délka řetězce s, takže můžeme iterovat od i až do n, délka S, a na každém iterace přírůstek i. 

A pak se uvnitř této smyčky, pojďme První kontrola je aktuální písmeno - i-tý písmeno s, abych tak řekl - malé písmeno. Je-li s konzola i je větší než nebo rovno na malá písmena, a to je méně než nebo rovnající se malým Z - Nyní, pokud chceme převést na malá písmena Dopis na velká písmena, připomenout zaprvé, že v ASCII malá 97 a velká 65. Mezitím, malými písmeny b je 98, a velká písmena B je 66. 

Pokud budeme i nadále hledat v této struktuře, uvidíme, že malá písmena jsou vždy 32 vyšších hodnot než velká písmena. Takže pokud chceme převést z malých písmen na velká písmena, by měl stačí, opravdu, odečíst 32 od vstupu uživatele. Nebo obecněji, jen odečíst, že Rozdíl mezi malými písmeny A a A kapitál A. 

Jak vyjádřit, že? Dobře, pojďme to udělat v kódu. Printf, citace, konec citátu "% c" k tisku aktuální znak, následovaný tisk bez ohledu na to v s držákem i mínus Výsledkem dělá malá písmena A minus velká písmena A středník. Jinými slovy, tento závorkách výraz, trochu minus velký, je chystá se vrátit k nám na konec dne 32.. Ale já nemusím pamatovat že je to 32. Nemohu dovolit počítač přijít na to, , jaký je rozdíl mezi malými písmeny a kapitálu je. 

Mezitím, když jsem vědět, že rozdíl, I to může odečíst od s držák i, který bude mít to, co je pravděpodobně malé písmeno na nižší hodnota, a to hodnota, která mapuje na s velkým ekvivalent. Pojďme nyní uložit, zkompilovat, a spustit tento program. Ujistěte se vydělávat tečka lomítko aktivovány. A můj vstup bude ahoj. A tady to máme, ahoj. 

Teď moje výzva, pravda, je trochu ošklivá, protože máme vynechat jeden bit tisku. A vraťme se a dodává, že. Na samém konci tohoto programu, Jsem velmi jednoduše, a do značné míry na estetický účel, přidáme printf, citace, konec citátu zpětné lomítko n. Pojďme znovu uložit tento soubor, překompilovat, opakování. 

Ujistěte se vydělávat, tečka lomítko vydělat. Opět platí, že pro vstup budu poskytovat "ahoj" ve všech malými písmeny a nyní stiskněte klávesu Enter, a "ahoj", mnohem čistěji vytisknout.