Trong C hoặc C++, ta thường dùng câu lệnh switch-case. Trong switch, ta truyền một giá trị và dùng các case để kiểm tra. Ở đây ta sẽ thấy có thể dùng khoảng giá trị trong case.
Cú pháp dùng range trong case như sau:
case low ... high
Sau case, viết giá trị thấp, một dấu cách, ba chấm, một dấu cách, rồi giá trị cao.
Chương trình sau minh họa kết quả của switch-case dựa trên khoảng.
Ví dụ
#include <stdio.h>
int main() {
int data[10] = { 5, 4, 10, 25, 60, 47, 23, 80, 14, 11 };
int i;
for (i = 0; i < 10; i++) {
switch (data[i]) {
case 1 ... 10:
printf("%d in range 1 to 10\n", data[i]);
break;
case 11 ... 20:
printf("%d in range 11 to 20\n", data[i]);
break;
case 21 ... 30:
printf("%d in range 21 to 30\n", data[i]);
break;
case 31 ... 40:
printf("%d in range 31 to 40\n", data[i]);
break;
default:
printf("%d Exceeds the range\n", data[i]);
break;
}
}
return 0;
}
Kết quả
5 in range 1 to 10 4 in range 1 to 10 10 in range 1 to 10 25 in range 21 to 30 60 Exceeds the range 47 Exceeds the range 23 in range 21 to 30 80 Exceeds the range 14 in range 11 to 20 11 in range 11 to 20