Vexelpixel Napisano Luty 20, 2010 Zgłoś Share Napisano Luty 20, 2010 Witam, jestem początkujący i nie rozumiem pewnej rzeczy. Mianowicie: c=1; for(b=1; b<5; b+=2) c+=c*b+c; c*=(c%2)*10; printf("b=%d c=%d", b,c); To jest kawałek pętli, wg. logicznego toku rozumowania powinna się wykonać tak: 1) b=1 c=1+1*1+1=3 c=3*(3mod2)*10=30 2) b=3 c=30+ 3*30 +30= 150 c=150*(150mod2)*10=0 3) b=5 c=0 Mógłby mi ktoś wytłumaczyć gdzie leży mój błąd? Program daje w wyniku b=5, c=150. Pętla wykonuje się 3razy, po skończeniu drugiego obrotu wyrzuca c=0, więc za 3 razem też będzie miała =0. W drugim obrocie przy pierwszym działaniu wyrzuca 150 i tu się zastanawiam czy to nie jest po prostu ostatnia dodatnia wartość, ale wtedy to kompletnie nie miałoby sensu. Zastanawia mnie czym kierował się autor języka tworząc sposób działania właśnie w taki sposób, którego na razie nie potrafię logiką objąć Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Luty 20, 2010 Zgłoś Share Napisano Luty 20, 2010 polecam debuger i krok po kroku wszystko sie wyjasni a i zmienne widac od razu Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
xevil21 Napisano Luty 20, 2010 Zgłoś Share Napisano Luty 20, 2010 for(b=1; b<5; b+=2) c+=c*b+c; c*=(c%2)*10; %zr$)ĄąŹ)(Ź(Ą)( Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Luty 22, 2010 Zgłoś Share Napisano Luty 22, 2010 Hmmm, to pewnie dlatego w Pythonie nie implementowali klamerek Link do komentarza Udostępnij na innych stronach More sharing options...
xevil21 Napisano Luty 22, 2010 Zgłoś Share Napisano Luty 22, 2010 Hmmm, to pewnie dlatego w Pythonie nie implementowali klamerek Klamerki są fajne! Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.