Nó là có thể để có một lệnh switch như là một phần của dãy lệnh trong một lệnh switch ở vòng ngoài. Ngay cả khi hằng số case trong và ngoài lệnh switch chứa các giá trị bình thường, sẽ không có sự xung đột diễn ra ở đây.
Cú pháp để lồng các lệnh switch vào nhau như sau:
switch(ch1) { case 'A': printf("A la mot phan cua lenh switch ben ngoai" ); switch(ch2) { case 'A': printf("A la mot phan cua lenh switch ben trong" ); break; case 'B': /* phan code tuong tu khac */ } break; case 'B': /* phan code tuong tu khac */ }
Ví dụ lồng các lệnh switch
#include <stdio.h> int main () { /* phan dinh nghia bien cuc bo */ int a = 35; int b = 26; switch(a) { case 35: printf("Day la mot phan cua lenh switch ben ngoai\n", a ); switch(b) { case 26: printf("Day la mot phan cua lenh switch ben trong\n", a ); } } printf("Gia tri chinh xac cua a la : %d\n", a ); printf("Gia tri chinh xac cua b la : %d\n", b ); printf("===========================\n"); printf("Hoctv chuc cac ban hoc tot! \n"); return 0; }
Biên dịch và thực thi chương trình C trên sẽ cho kết quả sau: