-
11-08-2014, 03:10 PM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Thắc mắc về hàm scanf và gets, atoi
Mình mới học C đến phần structure thì có 1 ví dụ
Mã:#include <stdio.h> #include <conio.h> #include <stdlib.h> #define MAX 50 void main(void) { struct nhanvien { int manv; char hoten[30]; }; nhanvien snv[MAX]; char ctam[10]; int i, in; printf("Nhap vao so nhan vien: "); gets(ctam); in = atoi(ctam); //Nhap danh sach nhan vien for(i = 0; i < in; i++) { printf("Nhap vao ma nhan vien thu %d: ", i + 1); gets(ctam); snv[i].manv = atoi(ctam); printf("Nhap vao ho ten: "); gets(snv[i].hoten); } //in danh sach nhan vien for(i = 0; i < in; i++) printf("%5d %s ", snv[i].manv, snv[i].hoten); getch(); }
nhập một số nguyên tránh lỗi do scanf và vùng đệm bàn phím gây ra.
Cho mình hỏi lỗi này là lỗi gì và bản chất hàm scanf khác gì 2 hàm kia.
Mình cám ơn trước [IMG]images/smilies/biggrin.png[/IMG]View more random threads:
- Giúp e sửa lỗi với
- Xử lý chuỗi và ký tự ( lỗi C++ hay sai code)
- Lỗi Segment _TEXT Exceeds 64K
- Vấn đề nhập xuất file trong lập trình C++?
- giúp em phần lỗi ở hàm Main()
- hàm putch()
- tìm min , max của dãy số. Giúp mình với?
- Chương trình soạn thảo văn bản bằng C++
- cách thức viết và cách liên kết hàm con?
- string
-
12-08-2014, 12:15 PM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
cám ơn các bạn mình hiểu rồi, lỗi bộ nhớ đệm [IMG]images/smilies/smile.png[/IMG]))
-
12-08-2014, 03:41 PM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Với scanf thì ký tự enter cuối cùng (để kết thúc việc nhập) sẽ vẫn còn lại ở vùng đệm bàn phím.
lệnh gets (để nhập xâu) thì lệnh gets sẽ ghi nhận ký tự enter ở vùng đệm và việc nhập xâu sẽ gây lỗi.
có cách khác là dùng lệnh xóa vùng đệm sau khi dùng scanf.
-
12-08-2014, 04:19 PM #4
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
1. fflush(stdin) là bad code, nên phải sử dụng giải pháp thay thế.
2. Nếu nhập cái gì đó ko phải là số, thì từ giá trị trả về của scanf có thể biết đc.
Code trên có vấn đề: Nếu ctam là 1 cái gì đó ko phải số thì in ko có ý nghĩa gì cả!
NGUỒN SỈ ÁO KHOÁC DENIM NỮ TPHCM CHẤT LƯỢNG CAO Bạn muốn nhập sỉ áo khoác denim nữ để bắt đầu việc buôn bán Online phong cách nhưng lại chưa có kinh nghiệm, muốn sắm xưởng sỉ xống áo vừa có thể giải...
Xưởng sỉ áo khoác jeans denim giá...