01/10/2018, 11:40

Nhập từ bàn phím cả số và ký tự

em code như vậy nó chỉ nhận vào số chứ ký tự nó không nhận, lệnh switch k chạy

nghia viết 13:55 ngày 01/10/2018

Chào SuperHackerProNo1ty!
switch…case… default là 1 if… else thu gọn.
nếu case i: đúng thì thực thi case i. Nếu kiểm tra tất cả các case đều sai thực thi default.
https://www.tutorialspoint.com/cprogramming/switch_statement_in_c.htm
P/s: Bạn có nhiều người bạn tham gia diễn đàn phải không?

SuperHackerProNo1ty viết 13:48 ngày 01/10/2018

p/s là sao nhỉ???

Pham Van Hai viết 13:42 ngày 01/10/2018

Lỗi của bạn không hiểu rõ scanf(), đọc link đưới để sửa

Hi bạn, Do tất cả dữ liệu khi nhập vào máy tính sẽ được lưu trước trong vùng nhớ đệm stdin sau đó mới truyền giá trị vào cho từng biến thông qua lệnh gán scanf. Trong trường hợp bạn nhập dư dữ liệu, các giá trị còn tồn trên stdin sẽ được chuyển tiếp cho các lệnh gán tiếp theo. Đặc biệt, mỗi lần kết thúc lệnh nhập của bạn bằng phím enter đều lưu trên vùng nhớ đệm dưới dạng kí tự \n. Đối với kiểu số nguyên %d , lệnh scanf chỉ tra các giá trị có kiểu số nguyên nên sẽ bỏ qua kí tự \n. Do vậy,…

sycoi001 viết 13:51 ngày 01/10/2018

scanf chữ nhận vào dữ liệu số, còn ký tự dùng cái getchar().
trước dòng nhập liệu cho ký tự hoặc chuỗi phải xóa bộ đệm bằng cái flushall() hoặc fflush(stdin)

Bài liên quan
0