Forum: Mikrocontroller und Digitale Elektronik Kompiler Warnung


von Hannes Weninger (Gast)


Lesenswert?

Hallo,

weiß vielleicht jemand, warum ich bei der Abfrage
"if ((ZeilenPos >= 0) && (ZeilenPos <= 15))" die untenstehende Warnung 
vom Compiler bekomme?
Vielen Dank für Eure Antworten!!

lg
Hannes


Warnung vom Compiler: comparison is always 1 due to limited range of 
data type

von Rahul, der Trollige (Gast)


Lesenswert?

Welchen Datentyp hat ZeilenPos denn?

von johnny.m (Gast)


Lesenswert?

Ich vermute, dass sich die Warnung auf "(ZeilenPos >= 0)" bezieht. Wenn 
ZeilenPos "unsigned" ist, dann ist die Variable immer >= 0 und die 
Abfrage könnte man einfacher so schreiben:
1
if (ZeilenPos <= 15)
2
{
3
4
}

von Rahul, der Trollige (Gast)


Lesenswert?

>Wenn ZeilenPos "unsigned" ist, dann ist die Variable immer >= 0
Genau das meinte ich.

von Hannes Weninger (Gast)


Lesenswert?

ZeilenPos hat den Datentyp unsigned integer!!


Ich hätte noch eine zweite Frage und zwar geht es, dass man bei einer 
case abfrage zwei Werte angibt, z.B.:
               switch(wert)
               {
                case 34, 70:

               }

Der Beistrich geht nicht, gibts vielleicht eine andere Syntax.


lg
Hannes

von johnny.m (Gast)


Lesenswert?

> Der Beistrich geht nicht
Wat is n "Beistrich"???
1
switch(wert)
2
{
3
    case 34:
4
    case 70: tuirgendwas();
5
             break;
6
    case IRGENDEINANDERERWERT:
7
             tuirgendwasanderes();
8
             break;
9
}

von Hannes Weninger (Gast)


Lesenswert?

Vielen Dank johnny .m

lg

von Hannes Weninger (Gast)


Lesenswert?

Danke für die Antworten!!!

lg
Hannes

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.