Ich habe Code im Linux-Kernel durchsucht und bin auf die Aussagen wie gestoßen case '0' ... '9':
Um dies auszuprobieren, habe ich das folgende Testprogramm erstellt.
#include <iostream>
int main()
{
const int k = 15;
switch (k)
{
case 0 ... 10:
std::cout << "k is less than 10" << std::endl;
break;
case 11 ... 100:
std::cout << "k is between 11 and 100" << std::endl;
break;
default:
std::cout << "k greater than 100" << std::endl;
break;
}
}
Das obige Programm wird kompiliert, obwohl ich noch nie zuvor auf die Auslassungen im Case-Anweisungskonstrukt gestoßen bin. Ist das Standard-C und C++ oder ist das eine GNU-spezifische Erweiterung der Sprache?
Ah, der Schwanengesang von Visual Basic.
– Hans Passant
8. Mai 2011 um 1:22 Uhr
Was bedeutet diese Syntax von switch case in C?
– phuklv
22. Januar 2020 um 7:24 Uhr
Beantwortet das deine Frage? Sind dreifache Punkte in einem Fall (Fall ‘0’ … ‘9’:) gültige C-Sprachwechselsyntax?
– phuklv
22. Januar 2020 um 7:24 Uhr