30/09/2018, 18:02

Gỡ lỗi của continue trong switch

xin mọi người giúp em gỡ lỗi này với ạ. Em không hiểu sao lại bị lỗi?

*grab popcorn* viết 20:16 ngày 30/09/2018

continue chỉ đc ở trong vòng lặp.
Nếu muốn nó tiếp tục thì bạn cứ việc để v, đừng thêm break vào là nó chạy một lèo.

switch(a) {
 case 1: {
  //code
 }
 case 2: {
 //code
 }
Bảo Ngọc viết 20:10 ngày 30/09/2018

Anh ơi sao em áp dụng cách đó vào nó lại bị thế này ạ?

*grab popcorn* viết 20:06 ngày 30/09/2018
scanf("%s",a[i]);

Bạn sửa thành

scanf("%c",&a[i]);

Mà i bạn cũng chưa có giá trị, thì s mà nhập vô nhỉ :?

Bảo Ngọc viết 20:12 ngày 30/09/2018

em thay s thành c vẫn thế anh ạ? i em cho luc đầu i=0 ạ.

*grab popcorn* viết 20:03 ngày 30/09/2018


char a[] = {}
tức bạn báo a[0] = rỗng;
tức khi bạn nhập ký tự thứ 0+1 mới tính.
Mà, có vẻ như chương trình của bạn chỉ nhập đc 1 ký tự thôi. các ký tự sau sẽ ko đọc đc?

Bảo Ngọc viết 20:18 ngày 30/09/2018

anh ơi hình như em cho
char a[]={}; /* nghiã là các phần tử lúc đầu rỗng*/
nhưng sau khi em cho i=0 và bắt đầu nhập a[i] thì bắt đầu a[0]. và nhập từ a[0] chứ ạ. Sao lại từ a[0+1] ạ?

Bảo Ngọc viết 20:02 ngày 30/09/2018

Mà tiện thể anh cho em hỏi :“continue chỉ đc ở trong vòng lặp.” nghĩa là sao hả anh ? anh cho em xin 1 code vd khi ở trong vòng lặp và khi không ở trong với ạ?

*grab popcorn* viết 20:03 ngày 30/09/2018

Nhập từ a[0].
Nhưng do a[0] = rỗng
nên nhập vô thì nó cũng mặc kệ. Nó sẽ lấy giá trị rỗng kia làm giá trị của a[0]. Và từ a[1] trở đi nó mới nhập giá trị.
Nên muốn nhập từ a[0] thì mình khai báo
int a[100];
Code tham khảo: http://ideone.com/BjQG2G

Còn continue chỉ ở trong vòng lặp là ntn: (giả sử vòng lặp for, chạy thử xem kq là gì )

for(i=0;i<10;i++) {
 if(i%2) continue;
 else printf("%d ",i);
}
Bảo Ngọc viết 20:15 ngày 30/09/2018

Cảm ơn anh rất nhiều đúng bài em đang làm

*grab popcorn* viết 20:05 ngày 30/09/2018

Bạn nên xem và code lại cho hiểu nha.

Bài liên quan
0