Citat:
svemirski_brod:
Jel mozes da mi razjasnis ovo: ['Z'-'A'+1] i peti red?
Zasto takav izraz kad je ovako jednostavnije?
int main() {
int i,j=0;
char letters[j];
for (i = 'A'; i <= 'Z'; i++) {
letters[j++] = i;
}
puts(letters);
return 0;
}
Da li to nesto znaci ili ne? Hvala
Već je Mihajlo razjasnio neke stvari, ali ipak da odgovorim.
Kad praviš niz moraš mu zadati veličinu. U prvom primeru ti si zakucao veličinu niza na 100 elemenata iako ti ne treba toliko. Bolja alternativa je zauzmeš mesta koliko ti treba. To možeš uraditi tako što ćeš na papiru (ili u glavi) sračunati i napisati broj ili pustiti program da računa. 'Z' - 'A' + 1 daje dovoljno mesta da se smeste velika slova engleskog alfabeta.
Što se petog reda tiče - to je samo način da sračunam lokaciju gde treba upisati slovo bez korišćenja dodatne promenljive, jer realno nije potrebna. Meni lično je ovakav zapis čitljiviji od tvog.
Generalno gledam da izbegavam magične brojeve (veličina niza, ASCII kod slova itd.) ako mogu kod da napišem i da ga razumem bez gledanja u neki spoljnji izvor informacija (u ovom slučaju ASCII tabela). To je jedini razlog zašto sam poslao i drugo rešenje, ništa više ;)