Video Ngôn Ngữ C - 20 - Cách bỏ qua một nhóm các điều kiện trong vòng lặp, dùng continue

#Đăng ký khóa học C++ cơ bản 2016 ( NEW ) tại đây :
#Thông tin về khóa học xem tại đây :

-Sự khác biệt giữa 2 khóa học cũ và mới :
+Khóa học C++ cơ bản 2016 là khóa học mới, được đầu tư nhiều hơn từ nội dung, phương pháp học, cách học hiệu quả.
+Trong khóa học còn có nhiều kiến thức mới như thực hành trên HackerRank, thực hành trên Codefights và Đạt nghĩ mọi người nên học khóa học mới, bởi vì đây là kiến thức mới, phù hợp với hiện tại… Mặt khác âm thanh cũng tốt hơn nhiều so với khóa học cũ giúp đỡ việc lắng nghe và hiểu được tốt hơn.

2 Likes

sao em làm bài tập và bài này khi in kết quả ra chả khác gì break;
Do em sai hay là do bài này vậy anh

Em gửi code lên anh xem thử.

#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)
                continue;
            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;
}

Đây nè anh

1 Like

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");
2 Likes

anh oi coi bai toan cua em co sai ko ak :slight_smile:
code

int main()
{
    int n=3;
    int i=0;
    while(i<10)
    {
        printf("phan tu i= %d\n",i);
        int j=0;
        while(j<5)
            {printf("phan tu j=%d\n",j);
            if (j==n)
                continue;
            printf("phan tu dc nhac lai j=%d\n",j);
            j++;
            }
        i++;
    }
    return 0;
}

Video này anh post 8 tháng trước rồi, anh không nhớ cái đề lắm :smile: Nhưng mà chắc là em code đúng rồi.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?