Switch 문에서 값 범위 선택
제공된 예에서는 스위치의 잘못된 구문으로 인해 컴파일러에서 오류가 발생합니다. 성명. 코드는 C에서 표준이 아닌 "case >= value" 및 "case == value" 구문을 사용하여 값 범위를 지정하려고 시도합니다.
문제를 해결하려면 다음 사항에 유의하는 것이 중요합니다. 컴파일러는 C 언어의 확장으로 사례 범위를 지원합니다. 값 범위를 지정하는 구문은 "case value ... value"입니다.
대소문자 범위가 포함된 수정된 코드:
#include <iostream> using namespace std; int main() { int score; // Get score from user cout << "Score: "; cin >> score; // Switch statement with case ranges switch (score) { case 0: cout << "a"; break; case 0 ... 9: cout << "b"; break; case 11 ... 24: cout << "c"; break; case 25 ... 49: cout << "d"; break; case 50 ... 100: cout << "e"; break; default: cout << "BAD VALUE"; break; } cout << endl; return 0; }
컴파일러 지원 케이스 범위:
케이스 범위는 모든 컴파일러에서 지원되지 않습니다. 다음은 이 기능을 지원하는 알려진 컴파일러입니다.
컴파일러가 대소문자 범위를 지원하지 않는 경우 스위치 문에서 값 범위를 선택하기 위해 다른 접근 방식을 사용해야 합니다. 한 가지 옵션은 다음과 같이 일련의 중첩된 if-else 문을 사용하는 것입니다.
if (score >= 100) { cout << "a"; } else if (score >= 50) { cout << "b"; } else if (score >= 25) { cout << "c"; } else if (score >= 10) { cout << "d"; } else if (score > 0) { cout << "e"; } else if (score == 0) { cout << "f"; } else { cout << "BAD VALUE"; }
위 내용은 C Switch 문에서 범위 기반 사례를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!