Hirdetés

2024. június 2., vasárnap

Gyorskeresés

Hozzászólások

(#863) Gyuri16 válasza blaces (#862) üzenetére


Gyuri16
senior tag

tudod mi a kulonbseg e ketto kozott: ++i es i++ ?
a masik dolog hogy a c hogyan ertekeli ki a && et.

ellenorzeshez tegyel meg egy printf-t a ciklus utan, hogy lasd mi maradt a valtozokban

int i=5, j=0;
while ( --i>0 && j++<5)
printf("%d, %d\n", i, j);

ha lefuttatod ezt irja ki:
4, 1
3, 2
2, 3
1, 4
azt jelenti, hogy i=1, j=4, es ekkor megy a feltetelre a whilenal. mivel az i-nel prefixes a --, ezert a i>0 kiertekelese elott egyel csokkenti az erteket, igy i=0 lesz, es mar nem igaz a i>0, tehat a && jel utan mar lenyegtelen mi van, j marad 4.

int i=0, j=0;
while (i++<5 && j++<5)
printf("%d, %d\n", i, j);

odaig rendben van hogy i=5, j=5. itt jon a kovetkezo iteracio: i<5 nem ervenyes, igy a ciklus mar nem fog vegrehajtodni, de a postfixes ++ a i<5 utan meg teljesul, ezert 6 lesz

int i=0
for (i++; ++i<=10; i++)
printf("szöveg");

lefuttattam, nekem 5 szor irja ki..

//remelem ertheto amit irok, mar kicsit faradt vagyok.. :)

Nem vagyok egoista, csak uborkagyalu!

Copyright © 2000-2024 PROHARDVER Informatikai Kft.