Gast
#6618976
Hallo, ich möchte ein Array rückwärts ausgeben
1 | |
2 | |
3 | |
4 | |
max ist die Anzahl von elementen in temp. Das Problem ist, dass die Schleife nicht aufhört. Der anfang ist richtig, dann hört es aber nie auf.
|
Anzeige
|
Printf array rückwärts
Gast
#6618976
Hallo, ich möchte ein Array rückwärts ausgeben
max ist die Anzahl von elementen in temp. Das Problem ist, dass die Schleife nicht aufhört. Der anfang ist richtig, dann hört es aber nie auf.
Gast
#6618977
beginner schrieb: > max ist die Anzahl von elementen in temp. Wenn das so ist dann musst du mit max-1 anfangen auszugeben. Unsigned INT wird nun mal NIEMALS kleiner NULL! beginner schrieb: > Das Problem ist, dass die Schleife nicht aufhört. Kann sie prinzipbedingt nicht. beginner schrieb: > for(uint8_t x=max; x>=0; x--) Ein uint8_t ist immer >=0. Das geht gar nicht anders. Also ist das eine Endlosschleife. Wenn man mit -Wextra compiliert, liefert gcc die ausführliche Begründung als Warnung.
Gast
#6618991
"unsigned" ist eine Quelle vieler (subtiler) Fehler. Nach Möglichkeit immer vermeiden.
Gast
#6619002
Teo D. schrieb: > Unsigned INT wird nun mal NIEMALS kleiner NULL! Yo, darauf bin auch auch schon mal ringefallen. Also dort lieber int nehmen! Bei Indizes und aufsteigenden Schleifen nehme ich gerne unsigned. Aber bei absteigenden Schleifen geht das nicht.
Gast
#6619008
Teo D. schrieb: > Unsigned INT wird nun mal NIEMALS kleiner NULL! Ja, da habt ihr natürlich recht. Das habe ich nicht bedacht :( . Besten Dank > Bei Indizes und aufsteigenden Schleifen nehme ich gerne unsigned. Aber > bei absteigenden Schleifen geht das nicht. Gehen tut es schon, aber unschön: for(n=8;n<9;n--) printf("%d %c\n",n,ttt[n]); gibt das array ttt[8] rückwärts aus Martin B. schrieb: > Gehen tut es schon, aber unschön: > > for(n=8;n<9;n--) printf("%d %c\n",n,ttt[n]); > > gibt das array ttt[8] rückwärts aus Aber auf nem 8Bitter, immer noch besser als ne 16Bit-Var zu bemühen, wenn's Not tut.
Gast
#6619097
Martin B. schrieb: >> Bei Indizes und aufsteigenden Schleifen nehme ich gerne > unsigned. Aber >> bei absteigenden Schleifen geht das nicht. > > Gehen tut es schon, aber unschön: > > for(n=8;n<9;n--) printf("%d %c\n",n,ttt[n]); > > gibt das array ttt[8] rückwärts aus Gehen tut das so. Ist aber nicht selbsterklärend und verständlich. Mehr etwas für https://www.ioccc.org/
Gast
#6619165
Das "rückwärts"-Äquivalent von
ist
Insb ist in dem Schleifenkörper i zwischen 0 und N-1, nie N. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|