C: reverzne cykly
David Obdrzalek
David.Obdrzalek na mff.cuni.cz
Úterý Červenec 30 21:48:26 CEST 2024
Ja jsem měl asi v podvečer nějaký zatemnění mysli a v obou mailech jsem to napsal
blbě.
Tady má samozřejmě být i--
unsigned char i=3;
do {
neco;
}
while (i--);
Takže když se vykoná tělo cyklu s i==1, podmínka bude splněna a tedy se to otočí
ještě jednou, přičemž po vyhodnocení podmínky se i dekrementuje na 0. Tělo se
provede s i==0, takže nakonec podmínka splněna není a cyklus se ukončí (i sice
dekrementujeme a podteče, ale to už mě nezajímá).
D.O.
On 30 Jul 2024 at 17:31, David Obdrzalek wrote:
> Ta pocatecni hodnota je vzdy ostre vetsi nezi nula? Pak bych spis psal
> do neco; while (--i);
>
> Pokud zacatek muze byt nula a cyklus se v takovem pripade ma vykonat jednou, tak asi
> nejspis for(unsigned i=ZACATEK+1;--i;)
>
> D.O.
>
> On 30 Jul 2024 at 15:07, Jan Waclawek wrote:
>
> > [preposielam]
> >
> > Ahojte,
> > mam zase dalsiu skolsku otazku ku cyklom for ale s reveznym pocitanim napr.
> > 3 ... 0. Napisat ten for pre hodnoty 3 ... 1 je jednoduche. Ale ako zapisat
> > ten for aby behal od 3 ... 0 ?
> >
> > Mne sa riesenie for(unsigned char i = 3; i != 255; i--) velmi nepaci. A pri
> > verzii for( i = 3; i >=0; i--) mi zase krici kompilator na podmienke i
> > >=0...
> >
> > Herout, Bing ani ChatGPT mi ziadne uspokojive riesenie nenasli. Ako to
> > napisat aby to bolo OK?
> >
> > Velmi pekne dakujem za odpovede.
> >
> > A.
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list