If, else-if-und else-Anweisungen innerhalb eines "case" für eine switch-case-Anweisung break?
Kenne ich den syntax für das schreiben einer case-Anweisung break, aber ich Frage mich, ob das erlaubt ist:
CODE:
case 'p':
{
printf("Give number: ");
scanf("%d, &int_1);
if int_1=5;{
printf("Played: you win");
}
break;
}
Im Grunde ich Frage mich nur, ob dies ist etwas, das möglich zu tun, ich weiß, der code ist unvollständig, aber ich nicht wollen, dass jemand zu denken, ich bin versucht, zu eruieren, konkrete Antworten. Ich suchen einfach nur ein besseres Verständnis der Anwendung von Bedingungen, um meine Programme. Danke.
EDIT: anders als in den tags, ich wollte nicht angeben, also nur für den Fall das nicht klar ist, dies ist in C.
InformationsquelleAutor Arthur Collé | 2011-10-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die kurze Antwort ist ja, man kann ein nest
if
innerhalb vonswtich
/case
- Anweisung (oder Umgekehrt). Wenn Sie wollen schlecht genug ist, könnten Sie eine Schleife, die eineswitch
mit mehrerenif
s, etc.Bottom line: das limit für nesting verschiedene Arten von Aussagen ist in der Regel auferlegt durch solche überlegungen wie Geschmack und Lesbarkeit, keine Einschränkungen gebaut in der Sprache.
InformationsquelleAutor Jerry Coffin
Ja, es ist erlaubt. Aber auch Sie vergaß die
(
Klammern)
um Ihreif
:werden sollte:
So, wenn es nicht kompilieren, das ist der Grund.
Ich habe nie gesehen, eine if-Anweisung ohne Klammern. Wenn es für Sie zusammengetragen (es hat nicht für mich), dann ist es vielleicht eine alte ansi Sache, dass Sie irgendwann nahm Sie heraus.
froh, dass Sie Verstand, was ich meinte, ich Sprach über den level der Warnungen haha. danke. welchen compiler benutzt du? neugierig
Sie machte y-cruncher! unendlichen Respekt, vielen Dank für die Beantwortung
VS2010 C++ - compiler. Also vielleicht ist es eine C-einzige oder eine GCC-Erweiterung. Es ist einfach geradezu fehlerhaft auf mich.
InformationsquelleAutor Mysticial