switch case statement mit array und länge als Bedingung
-
Ich gebe einer Funktion ein Array mit einer vom Benutzer angegebenen Länge an.
int abc( char array[], int length) for(int j=0;j<length;j++) { switch (array[j]) // Hier ist das Problem { blabla } }
Ich weiß das switch case nur Constante Werte als Bedingung akzeptiert, nur ist mein Dilemma das ich irgendwie switch case und for schleife benutzen muss, ist in der Aufgaben Stellung vorgegeben.
-
Korrektur:Es wurde nicht explizit for Schleife genannt nur Schleife allgemein
-
Man kann dir nicht helfen, wenn du uns nicht sagst, was du willst.
-
SeppJ schrieb:
Man kann dir nicht helfen, wenn du uns nicht sagst, was du willst.
Das Problem ist das:
case 58>array[j]&&array[j]>47:
'array' is not a constant expression
the value of 'j' is not usable in a constant expression
-
Noch vergessen.
for(int j=0;j<length;j++)
'int j' is not const
-
Beim case dürfen nur Konstanten stehen.
Warum nimmst du kein
if(isdigit(array[j]))
(allerdings ausserhalb vom
switch
oder (es sind ja nur 10 Fälle)switch (array[j]) { case '0' : case '1' : ... case '9' : blabla; break;
oder ein Compilererweiterung
switch (array[j]) { case '0' .. '9) : blabla; break;
-
Danke für den Tipp Dirk hat sich jetzt geklärt.