Gets trong ngôn ngữ lập trình C
Chào mọi người, như mình biết thì hàm “gets” là một hàm để nhập vào xâu kí tự, chấp nhận dấu cách.Vậy hàm này thì đối với các kí tự như enter, tab thì sao ạ ? MÌnh xem được một đoạn code sau nhưng chưa hiểu:
#include<stdio.h>
int main() {
char ten[100];
int tuoi;
printf("Ban hay nhap tuoi cho sinh vien :
");
scanf("%d",&tuoi);
printf("Ban hay nhap ten cho sinh vien :
");
gets(ten);
printf("Thong tin sinh vien ban vua nhap la :
");
printf("Tuoi cua sinh vien : %d
",tuoi);
printf("Ten cua sinh vien : %s
",ten);
return 0;
}
khi nhập tuổi rồi enter xuống dòng để nhập tên thì chương trình kết thúc và để khắc phục ta dùng fflush (stdin);
.Mình nghĩ là kí tự xuống dòng đã được đưa vào vùng đệm sau đó gets
sẽ lấy
cho biến,
làm kết thúc việc nhập của gets
. Mình nghĩ vậy có sai bản chất ko ạ ? Mong mọi người chỉ bảo thêm. Mình cảm ơn nhiều.
hình như thiếu thư viện string.h bạn ạ
còn về cách hiểu của bạn thì đúng rồi (theo hiểu biết của mình)
bạn chịu khó debug là biết ngay mà ,