Hỏi về dùng char trong vòng lặp trong C

Chào mn! Đầu tiên mn check code hộ mình với:

#include<stdio.h>
#include<conio.h>
int main(){
	char choice;
	while(1){
		printf("a\n");
		printf("another run?? ");
		scanf("%c",&choice);
		if(choice=='y') continue;
		else break;
	}
}

Mục đích là để dùng kí tự “y” or “n” để lặp lại 1 khối lệnh mình mong muốn nhưng mình thử thì ko được, nếu dùng int choice thì dùng được nhưng bài tập mình yêu cầu dùng chữ. Nếu sai ở đâu mong mn giải đáp giùm. Thanks!

This post was flagged by the community and is temporarily hidden.

2 Likes

cản ơn bạn mình vừa sửa xong :slight_smile:

bạn có biết video nào hay có thể giải thích cho mình về cái cache kí tự hay là fflush(stdin) với, mình làm theo nhưng chưa hiểu gì hết??

This post was flagged by the community and is temporarily hidden.

1 Like

Bạn có thể dùng cách là bỏ một khoảng trắng trc " %c" cũng giải quyết được vấn đề. Ngoài ra do while cũng là sự lựa chọn ko tồi :smiley:

#include<stdio.h>
#include<stdlib.h>

int main()
{
    char choice;
    do
    {
        printf("a\n");
        printf("another run?? ");
        scanf(" %c",&choice);
    }
    while (choice == 'y');
}
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?