Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Tác dụng của câu lệnh while(getchar()!='\n'); trong lập trình C?

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    9

    Question Tác dụng của câu lệnh while(getchar()!='\n'); trong lập trình C?

    cho mình hỏi câu lệnh "while(getchar()!='\n');" có tác dụng gì vậy,và khi nào dùng đến nó???
    Code:
    int main(){
    	root=NULL;
    	
      int i,n,m;
    
    	printf("can tao bao nhieu ds:\n");
        scanf("%d",&m);
    do{
    	printf("\n1.them sdt\n2.in ra\n3.xoa\n");
    	scanf("%d",&n);
    	while(getchar()!='\n');
    	switch(n){
    	case 1:
    	for(i=0;i<m;i++)
    	add();
    	break;
    	case 2:
    	display();
    	break;
    	case 3:
    	delete();
    	break;
    	}
    	}while(n!=4);
    return 0;
    }
    Đã được chỉnh sửa lần cuối bởi manta : 19-09-2011 lúc 07:10 PM.

  2. #2
    Ngày gia nhập
    07 2010
    Nơi ở
    chỗ kín
    Bài viết
    446

    hàm getchar() trả về mã phím do người dùng ấn

    '\n' là mã phím của nút enter.

    khi người dùng ấn enter thì getchar() trả về '\n'

    while(getchar()!='\n');

    nếu người dùng không nhấn enter thì gọi hàm getchar, nếu ấn enter thì thoát khỏi vòng while

  3. #3
    Ngày gia nhập
    03 2011
    Bài viết
    10

    Trích dẫn Nguyên bản được gửi bởi pkthanh92 Xem bài viết
    hàm getchar() trả về mã phím do người dùng ấn

    '\n' là mã phím của nút enter.

    khi người dùng ấn enter thì getchar() trả về '\n'

    while(getchar()!='\n');

    nếu người dùng không nhấn enter thì gọi hàm getchar, nếu ấn enter thì thoát khỏi vòng while
    Ngược lại chứ bạn, while nó kiểm tra phím bạn nhập vào, nếu nhập vào enter thì nó thoát, còn nhập vào phím khác là nó quay vào vòng lặp.

  4. #4
    Ngày gia nhập
    12 2009
    Nơi ở
    bế quan tu lại
    Bài viết
    846

    nếu người dùng nhập vào không phải là phím enter thì hàm chương trình bắt đầu vào thân vòng while

    Vòng lặp while() trong C sẽ sét điều kiện trước và chỉ chạy khi điều kiện true. Vòng lặp while() được sử dụng khi số lần lặp không biết trước.
    Đã được chỉnh sửa lần cuối bởi aydada : 24-09-2011 lúc 04:49 PM.

  5. #5
    Ngày gia nhập
    07 2011
    Bài viết
    59

    theo mình hiểu đơn giản mục đích của việt trên là khử các ký tự thừa cảu phím enter để lại chống trường hợp bị trôi khi nhập thôi, tương tự tá dụng của fflush(stdin) hoặc %*C

  6. #6
    Ngày gia nhập
    03 2011
    Bài viết
    9

    Mặc định Tác dụng của câu lệnh while(getchar()!='\n'); trong lập trình C?

    Thanks các bạn.minh cũng nghĩ như bạn maitan_10000.mục đích chính chỉ khử ký tự enter từ bộ nhớ đệm bàn phím thôi....

Các đề tài tương tự

  1. Bài tập C Hỏi về getchar?
    Gửi bởi i1020242 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 10-05-2013, 03:34 PM
  2. chạy lệnh getchar() trong C
    Gửi bởi oohaycomvn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 11-10-2011, 10:25 PM
  3. Mã nguồn C Lỗi Không dừng được màn hình dù đã gọi getchar()
    Gửi bởi longtth trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 12-07-2011, 11:33 PM
  4. hàm getchar() sử dụng trong C như thế nào?
    Gửi bởi thang7788 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 07-04-2011, 10:12 PM
  5. Lập trình C Lệnh getchar ko được thực hiện?
    Gửi bởi sunshine trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 13-06-2010, 12:57 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn