Ahoj,
jsem začátečník a účím se c z knihy Programovací jazyk C od K&R. V knize jsem narazil na dva výrazy, kterým nemohu porozumět. Je to výraz:
for(i=0; r[i] >= '0' && r[i] = 'A' && z
Zasláno z mobilního telefonu.
Ahoj,
jsem začátečník a účím se c z knihy Programovací jazyk C od K&R. V knize jsem narazil na dva výrazy, kterým nemohu porozumět. Je to výraz:
for(i=0; r[i] >= '0' && r[i] = 'A' && z
Zasláno z mobilního telefonu.
tak znovu, nechápu co dělá výraz n= 10 * n + (r[i]-'0'); při převodu z číslic na celá čísla. Dále ze stejné strany výraz z funkce převodu z vekých písmen na malá. A to return z+'a' - 'A'; (pokud je z velké písmeno). Omlouvám se za roztržení textu, bohužel nevím co se stalo, ale nezobratil se celý první příspěvek :( (?)
Zasláno z mobilního telefonu.
Znaky abecedy jsou v tabulce znaků pohromadě v řadě za sebou. Zvlášť velká a zvlášť malá písmena. Takže když chceš velké písmeno převést na malé, tak stačí přičíst ten rozdíl.
Podobně s číslicemi. Takže když chceš převést hodnotu (0..9) na číslici ('0'..'9'), tak ji přičteš k '0', nebo naopak od číslice odečteš '0' a dostaneš její hodnotu.
Při tom převodu desítkového čísla se tedy postupuje po jednotlivých číslicích, které se postupně přidávají k výsledné hodnotě s tím, že předchozí hodnota se nejdřív posune o řád výš (doleva; vynásobí deseti).
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku