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

Đề tài: lệnh while chỉ lặp 1 lần

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

    Question lệnh while chỉ lặp 1 lần

    pro, e có chút thắc mắc về lệnh while. ko hiểu tại sao nó chỉ lặp lại 1 lần, nếu đúng, còn sai thì thoát ra luôn.

    void main()
    {
    int i=0;
    char s='y';

    while(s=='y')
    {
    printf("\n\t\ti: %d\n",i++);
    scanf("%c",&s);
    }
    printf("\n");
    system("PAUSE");
    }



    còn nữa nếu chèn thêm 1 lệnh printf nữa thì có thể thấy rằng giá trị của s biến mất, nếu đúng.

    void main()
    {
    int i=0;
    char s='y';

    while(s=='y')
    {
    printf("\n\t\ti: %d\n",i++);
    scanf("%c",&s);
    }

    printf("\n gia tri cua s: %c",s);
    printf("\n");
    system("PAUSE");
    }


    Giải thích giúp e với nhé. cám ơn trước!

  2. #2
    Ngày gia nhập
    03 2011
    Nơi ở
    Bình Dương, Hồ Chí Minh
    Bài viết
    392

    Trích dẫn Nguyên bản được gửi bởi thieuja_it Xem bài viết
    pro, e có chút thắc mắc về lệnh while. ko hiểu tại sao nó chỉ lặp lại 1 lần, nếu đúng, còn sai thì thoát ra luôn.

    void main()
    {
    int i=0;
    char s='y';

    while(s=='y')
    {
    printf("\n\t\ti: %d\n",i++);
    scanf("%c",&s);
    }
    printf("\n");
    system("PAUSE");
    }
    Trước dòng scanf bạn thêm lệnh: fflush(stdin) zô thì lệnh scanf nó mới không bị trôi(sẽ làm sạch stream).

    Còn bài dưới là vì còn lưu giữ kí tự xuống dòng. (nếu nhập chữ y lần nữa thì bạn sẽ thấy chữ Press any.....bị xuống dòng)

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

    Trích dẫn Nguyên bản được gửi bởi vitbau1412 Xem bài viết
    Trước dòng scanf bạn thêm lệnh: fflush(stdin) zô thì lệnh scanf nó mới không bị trôi(sẽ làm sạch stream).
    cái này ok


    Trích dẫn Nguyên bản được gửi bởi vitbau1412 Xem bài viết
    Còn bài dưới là vì còn lưu giữ kí tự xuống dòng. (nếu nhập chữ y lần nữa thì bạn sẽ thấy chữ Press any.....bị xuống dòng)
    nhưng cái này thì ko, mình ko hiểu, ký tự xuống dòng ở chỗ nào vậy

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