Wie formatiert ihr eure Switch-Anweisungen?



  • Interressiert mich mal.
    Bei kleinen schreib ich es so:

    switch (op) {
        case '-':    *answer = *answer - temp;    break;
        case '+':    *answer = *answer + temp;    break;
    }
    

    Bei größeren(die Aktion die durchgeführt werden soll) so:

    switch (op) {
        case '-':
                *answer = *answer - temp;    break;
        case '+':
                *answer = *answer + temp;	break;
    }
    

    Und wie schreibt ihr es?



  • Ich schreibe sie auch so:

    switch (op) {
        case '-':
                *answer = *answer - temp;    break;
        case '+':
                *answer = *answer + temp;	break;
    }
    

    Wo wir gerade bei switch Anweisungen sind, ist sowas möglich(ich meine den "oder" Operator):

    switch (op) {
        case '-'||'p':
                     *answer = *answer - temp;    break;
        case '+':
                *answer = *answer + temp;	break;
    }
    

    Geht das überhaupt oder muss ich es anders schreiben?



  • Ich schreibe es meistens so:

    switch (foo)
     {
         case 1:
         {
             a += 2;
             break;
         }
    
         default:
         {
             a += 2;
             break;
         }
     }
    

    Lasse aber meistens zum Schluss noch einmal Artistic Style über den Quellcode laufen...



  • Hm Fubar deine Möglichkeit ist auch nicht schlecht, dass man Klammern benutzen darf
    wusst ich gar nicht.

    Und ich glaube nicht, dass du nen Oder benutzen darfst, da in ner Switch-Anweisung
    einmal der Ausdruck ausgewertet wird und dann mit den Konstanten vergleichen.



  • SirLant schrieb:

    Und ich glaube nicht, dass du nen Oder benutzen darfst, da in ner Switch-Anweisung
    einmal der Ausdruck ausgewertet wird und dann mit den Konstanten vergleichen.

    Hmm, was meinst du jetzt genau 😕

    Edit: Achso!

    switch (token)
    	{
    		case 'a':
    			aktPos++;
    			nextChar(aktPos, F);
    			break;
    		case 'b': case 'c':  case 'd':  case 'f':
    		case 'o': case 'p':
    			aktPos += 2;
    			nextChar(aktPos, F);
    			break;
                //...
    		default:
    			return false;
    	} // switch
    

    So etwas geht aber.



  • '-'||'p' ergibt entweder true (1) oder false (0) und genau so wirds auch ausgewertet. Das bedeutet nicht, dass er in den case-zweig geht, wenn op entweder - oder p ist.


Anmelden zum Antworten