Em thay break
vào chỗ continue
sẽ thấy kết quả khác biệt hoàn toàn mà. Trong trường hợp này, đã thay break
vào chỗ continue
.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 3;
int i = 0;
while(i<10) {
int j = 0;
while(j<5) {
if(j == n)
break;
printf("i = %d ,j = %d\n",i, j);
j++;
}
printf("thoat khoi vong lap j\n");
i++;
}
printf("da thoat khoi vong lap i\n");
return 0;
}
Kết quả
i = 0 ,j = 0
i = 0 ,j = 1
i = 0 ,j = 2
thoat khoi vong lap j
i = 1 ,j = 0
i = 1 ,j = 1
i = 1 ,j = 2
thoat khoi vong lap j
i = 2 ,j = 0
i = 2 ,j = 1
i = 2 ,j = 2
thoat khoi vong lap j
i = 3 ,j = 0
i = 3 ,j = 1
i = 3 ,j = 2
thoat khoi vong lap j
i = 4 ,j = 0
i = 4 ,j = 1
i = 4 ,j = 2
thoat khoi vong lap j
i = 5 ,j = 0
i = 5 ,j = 1
i = 5 ,j = 2
thoat khoi vong lap j
i = 6 ,j = 0
i = 6 ,j = 1
i = 6 ,j = 2
thoat khoi vong lap j
i = 7 ,j = 0
i = 7 ,j = 1
i = 7 ,j = 2
thoat khoi vong lap j
i = 8 ,j = 0
i = 8 ,j = 1
i = 8 ,j = 2
thoat khoi vong lap j
i = 9 ,j = 0
i = 9 ,j = 1
i = 9 ,j = 2
thoat khoi vong lap j
da thoat khoi vong lap i
Còn nếu vẫn để continue
thì ta có kết quả
i = 0 ,j = 0
i = 0 ,j = 1
i = 0 ,j = 2
Và lặp vô tận không thoát được chương trình. Lý do là continue
sẽ làm cho câu lệnh tiếp theo trở thành
while(j<5) {
Trong khi nếu dùng break
thì câu lệnh tiếp theo sẽ là
printf("thoat khoi vong lap j\n");