DAVID Malan: Supozi ni ŝatus skribi programo kiu pelas la uzanto por ŝnuro kaj tiam capitalizes ke kordo. Nu, ni komencu per kelkaj konataj kodo deklarante ŝnuro nomita s kaj atribuante al ĝi la reveno valoro de getstring. Kaj ni nun procedas persisti super la karakteroj en ĉi ŝnuro. Nu, kiel fari tion? Rezultas, ke kordoj estas nur vico de signoj, sed pli konvene, ŝnuro estas tabelo de karakterojn, kiuj signifas ke ni povas uzi kvadrata krampo notacio al indekson en ŝnuro kaj instigi al individua karakteroj. En aliaj vortoj, ni povas fari la sekvan. Por int, i ricevas 0, kaj n prenas, diri, la longeco de s, uzante nia funkcio [? kirli?] [? linio,?] i estas malpli ol n i + +. En aliaj vortoj, kun ĉi maŝo, ni estos persisti super ĉiuj n literoj en la kordo s. Kaj ene de tiu ciklo, mi tuj kontrolu, se la i-a karaktero en s pli granda ol aŭ egala al minuskla a, kaj la i-a karaktero estas malpli ol aŭ egala al minuskla c, tiam mi volas procedi profiti tiun literon. Alivorte, mi volas presi% c kiel lokokupilo kaj anstataŭanto en por ke lokokupilo s krampo i. Sed tiam mi devas konverti s krampo i al majuskle. Por fari tion, mi povas simple subtrahi kion ajn la diferenco estas inter minuskla a kaj ĉefurbo A. Nu, mi fakte ne memoras ke ĉefurbo A estas 65 en ASCII kaj minuskla a estas 97. Do la diferenco estas teknike 32. Do mi povis nur malfacile kodo 32 tien. Sed mi ne nepre memori tiujn ciferojn. Kaj cetere, kion se ili varias de komputilo? Plej verŝajne ili ne estas. Sed la punkto restas ke mi ankoraŭ povas ĝeneraligi tiu aritmetika esprimo kiel simple nenial la diferenco estas inter minuskla a kaj majuskla A estas kion mi volas subtrahi ekstermigxos el tiu aparta minuskla litero. Nun, se tiu aparta letero ne estas minusklaj, mi simple deziras presi ĝin. printf,% c kiel mia lokokupilo, s krampo i. Ĉe la malsupro de tiu programo, ni simple presi linion tiel, ke mia prompt aperas sur nova linio de lia propra. Ni nun kompili tiun programon kun make capitalize0. Ni kuras kun capitalize0. Kaj ni tajpas en vorto kiel saluton en ĉiuj minuskle. Mi reiros SALUTON en majuskle kiel atendita. Sed ni provu pli teston, ĉifoje kun mia propra nomo, D-Al-V-mi-D, sed kun la unua D majuskle, ĝuste kazo mi paneas ion kun tiu unua char. Enter, kaj D-Al-V-mi-D en majuskle Estas presita tiel.