30/09/2018, 23:19

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
");
		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!

Tao Không Ngu. viết 01:30 ngày 01/10/2018

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

Nam Hoàng Lê viết 01:35 ngày 01/10/2018

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

Nam Hoàng Lê viết 01:19 ngày 01/10/2018

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??

Tao Không Ngu. viết 01:30 ngày 01/10/2018

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

viết 01:35 ngày 01/10/2018

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

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

int main()
{
    char choice;
    do
    {
        printf("a\n");
        printf("another run?? ");
        scanf(" %c",&choice);
    }
    while (choice == 'y');
}
Bài liên quan
0