Voisko joku ystävällisesti kertoa mitä toi jälkimmäinen lause tässä tekee, kun mistään oppaista ei oo apua tai sitten en vaan tajua
int i, j, t; char name[50]; printf("What is your name? "); scanf("%s", name); t=0; { for(i=0; i<strlen(name);i++) for (j='a'; j<=name[i];j++) t++; } printf("%d\n", t);
Mod. lisäsi kooditagit
Jälkimmäinen for-silmukka, vai? Siinä laitetaan muuttujaan j merkin 'a' numeerinen arvo (ASCII-järjestelmässä 97) ja korotetaan j:tä, kunnes sen arvo ylittää name-tekstin kohdassa i olevan merkin arvon. Jokaisella kierroksella lisätään muuttujan t arvoon yksi.
Silmukassa sinänsä ei ole mitään ihmeellistä, kunhan ymmärrät, että tekstikin on tietokoneen muistissa vain peräkkäisinä lukuina. Esimerkiksi teksti "hei" on muistissa lukuina 104, 101, 105 ja 0. (Luku nolla tarkoittaa C:n merkkijonoissa tekstin päättymistä.)
Kiitos.jotinkin ajattelinkin että tohon Ascii hommaan se liittyy mutta en löytänyt sitä ns. langan päätä
Aihe on jo aika vanha, joten et voi enää vastata siihen.