Prikaz jedne poruke
Stara 1.2.2021, 21:32   #3
Krilce
Starosedelac
 
lan od: 4.11.2007.
Poruke: 1.726
Zahvalnice: 1.753
Zahvaljeno 629 puta na 363 poruka
Određen forumom Re: почетничко питање за програмски језик c (Ц

Citat:
senje kae: Pregled poruke
... мада у математици Б=Б+А тешко да има смисла осим у случају да је А једнако 0. То некако и утувим, али никако да схватим шта доводи до резултата 20 када Б дефинишем као А+А.
Pre svega, operator = u C-u ne znaci jednako u smislu poredjenja, vec dodelu vrednosti. Sa leve strane znaka = se uvek nalazi promenljiva kojoj se vrednost dodeljuje (u ovom slucaju B), a sa desne strane vrednost izraza koji se dodeljuje (u ovom slucaju B + A). Ako je trenutna vrednost B 10, a A 5, mozes na izraz B = B + A gledati kao: "promenljiva B dobija vrednost 10 + 5, iliti 15". Operator == je znak jednakosti u matematici, gde se proverava istovetnost leve i desne strane.

Nadam se da si shvatio kako for petlja radi. Dodelio si pocetnu vrednost promenljivoj A (a = 1), i uvecavas je svaki krug za 1 (a++), sve dok je ta vrednost manja od 11 (a < 11).

Tokom svakog kruga petlje, promenljivoj B dodeljujes zbir A + A. Prvi krug petlje, A ima vrednost 1, tako da promenljivoj B dodeljujes vrednost 1 + 1 (2). Trenutno promenljiva B ima vrednost 2, ali ti nastavljas da vrtis petlju, pa je sledeci krug A == 2. Sada B = 2 + 2 (4). Sledeci krug B = 3 + 3 (6). I tako dalje dok A ne dodje do 10, iliti B = 10 + 10, sto je 20. Nakon toga A se inkrementira na 11, ali imas uslov A < 11, gde taj uslov nije ispunjen, tako da se iz for petlje izlazi, i tebi vrednost B ostaje na 20 ( B == 20).

Gledaj tutoriale na netu, ili nabavi knjigu: Programski jezik C od Denisa Ricija.
Krilce je offline   Odgovor sa citatom ove poruke