Gast
#3601700
Hi,
Kann man in C eine for-Schleife die von 0 bis 255 gehen soll
programmieren, wenn die Schleifen-Variable selber vom Typ unsigned Char
ist?
for(unsigned char n=0;n <= 255;n++){}
kommt nie zum Ende!!!
|
Anzeige
|
Schleife programmieren
Gast
#3601700
Hi,
Kann man in C eine for-Schleife die von 0 bis 255 gehen soll
programmieren, wenn die Schleifen-Variable selber vom Typ unsigned Char
ist?
for(unsigned char n=0;n <= 255;n++){}
kommt nie zum Ende!!!
Gast
#3601706
Nein, und natürlich terminiert das da oben nie. Ein unsigned char kann nunmal nur Werte von 0 bis 255 annehmen, welcher davon sollte denn größer sein als 255? Weil deine Zählvariable überläuft und wahrscheinlich wieder bei 0 startet. Unsigned char geht von 0-255 du zählst aber mit <=255 bis 256. Das = muss weg, dann sollte es gehen.
Gast
#3601710
Nicht "wahrscheinlich". Dem ist so. Und mit "<" wäre ihm auch nicht geholfen, weil er möchte, daß die Zählvariable 255 einschließt. Hallo, ich würde dann eine Do - While - Schleife verwenden !
Wer suchet schrieb: > Hi, > Kann man in C eine for-Schleife die von 0 bis 255 gehen soll > programmieren, wenn die Schleifen-Variable selber vom Typ unsigned Char > ist? > for(unsigned char n=0;n <= 255;n++){} > kommt nie zum Ende!!! Man kann:
Bernhard @Berhard, warum so kompliziert :-)
Gruss Uwe
Gast
#3601793
Warum so kompliziert?
for(unsigned int n=0;n <= 255;n++){} und gut ist.
Gast
#3603204
Gute Antwort, passt aber leider nicht zur gestellten Frage ;-) Wie wäre es mit
for(unsigned char n=0;n;n++){}
(natürlich wird angenommen, dass Dein Compiler den 'richtigen' Überlauf
durchführt)
Dann wie die Scheife erst garnet betreten, d.h. 0 Durchläufe.
Gast
#3603682
Fred schrieb: > Warum so kompliziert? > > for(unsigned int n=0;n <= 255;n++){} und gut ist. Schon wieder der 1. April? Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|