01/10/2018, 08:24
Tại sao sau khi mình chuyển thành while thì vòng lặp a chỉ chạy 1 lần?
mình là newbie và có học giáo trình c của a Đạt thì có bài tập 19 cấu trúc while như sau:
int a = 5;
for (int b = 0; b < 10; b++) {
//printf("b = %d
",b);
//if (b == a)
//break;
for (int c = 0; c < 5; c++){
printf("b = %d,c = %d
",b,c);
}
printf("da thoat khoi vong lap c
");
}
printf("da thoat khoi vong lap b
");
While:
int a = 0;
int b = 0;
while (a < 10) {
while (b < 5) {
printf("a = %d, b = %d
",a,b);
b++;
}
printf("thoat khoi vong lap b
");
a++;
}
printf("thoat khoi vong lap a
");
}
SAU KHI MÌNH CHUYỂN THÀNH WHILE THÌ VÒNG LẶP A CHỈ CHẠY 1 LẦN,CÓ AI GIẢI THÍCH GIÚP MÌNH ĐƯỢC KO?
Bài liên quan
Vòng lặp
while (a < 10) {}
có chạy 10 lần nhé.vậy là code while của mình đúng hả b?
nó chỉ in ra số lần printf chứ ko in ra giá trị của a và b nữa
Vòng lặp biến b chạy đúng 1 lần vì đoạn for nó còn có khởi tạo nữa bạn.
vậy nếu chuyển biến từ for thành while để ra kết quả tương tự như code trên thì làm như thế nào b? vì bài tập của a Đạt yêu cầu chuyển từ for thành while để ra kết quả tương tự @rogp10
@ltd a có thể giúp e được ko?
Sau câu “thoát khỏi vòng lặp b” bạn in b và sau câu “thoát khỏi vòng lặp c” của ct 1 bạn in c ra rồi nhìn 2 giá trị và so sánh là hiểu.
b có thể viết lại đoạn đó được ko?
Đây nhé
Biến b = 0 bạn khởi tạo bên trong vòng lặp while ( a < 10) và ngay trước vòng while ( b < 5 ) nhé!!