Sự khác biệt chính - scanf so với
Một hàm là một tập hợp các câu lệnh để thực hiện một nhiệm vụ cụ thể. Không cần viết tất cả các câu lệnh trong cùng một chương trình, nó có thể được chia thành nhiều hàm. Trong lập trình, người dùng có thể xác định các chức năng của riêng mình. Ngoài ra còn có các chức năng được cung cấp bởi các ngôn ngữ lập trình. Ngôn ngữ C cung cấp một số hàm, vì vậy lập trình viên có thể sử dụng chúng trực tiếp mà không cần thực hiện chúng ngay từ đầu. Hai hàm như vậy được cung cấp bởi ngôn ngữ C là scanf và get. Bài viết này thảo luận về sự khác biệt giữa hai chức năng này. Sự khác biệt chính giữa scanf và get là scanf kết thúc việc nhận đầu vào khi gặp phải khoảng trắng, dòng mới hoặc cuối tệp (EOF) trong khi được coi là khoảng trắng là một phần của chuỗi đầu vào và kết thúc đầu vào khi gặp dòng mới hoặc EOF.
scanf là gì?
Chức năng scanf có thể đọc đầu vào từ bàn phím và lưu trữ chúng theo định dạng định dạng nhất định. Nó đọc đầu vào cho đến khi gặp phải khoảng trắng, dòng mới hoặc EOF. Cú pháp như sau.
scanf (“chuỗi định dạng”, danh sách địa chỉ của các biến);
Tham khảo ví dụ dưới đây để hiểu scanf.
Hình 01: scanf với một đầu vào
Theo chương trình trên, đầu vào nhận được từ bàn phím là một số nguyên, do đó định dạng là% d. Nếu nó đang nhận một giá trị ký tự, thì định dạng sẽ là% c. Nếu nhận giá trị dấu phẩy động, định dạng định dạng là% f. Giá trị đầu vào nhận được phải được lưu trữ trong biến số. Do đó, địa chỉ của biến số được chuyển vào hàm scanf. Bây giờ biến số chứa giá trị do người dùng đưa ra từ bàn phím. Cuối cùng, chúng ta có thể in biến số để kiểm tra giá trị.
Cũng có thể nhận nhiều giá trị cùng một lúc.
Hình 02: scanf với nhiều đầu vào
Các đầu vào nhận được được lưu trữ trong biến số1 và số2. Các giá trị có thể được kiểm tra bằng cách sử dụng printf.
Được gì?
Chức năngget đang sử dụng để nhận đầu vào từ bàn phím cho đến khi gặp dòng mới hoặc EOF. Khoảng trắng được coi là một phần của đầu vào. Cú pháp của hàm get như sau.
get (“nơi lưu trữ chuỗi”);
Nếu có lỗi khi nhận chuỗi, hàm get sẽ trả về giá trị rỗng.
Tham khảo ví dụ dưới đây,
Hình 03: được
Đầu vào được nhận bởi hàm get và được lưu trữ trong biến word1. Nếu lập trình viên đã sử dụng scanf thay vì lấy và nhập một chuỗi chẳng hạn như “hello world”, scanf sẽ đọc chuỗi dưới dạng hai chuỗi vì có khoảng trắng. Nhưng get sẽ đọc nó thành một chuỗi "xin chào thế giới".
Điểm giống nhau giữa scanf và get là gì?
- Cả hai đều là các hàm được cung cấp bởi ngôn ngữ lập trình C.
- Cả hai phải bao gồm tệp tiêu đề stdio.h để sử dụng các chức năng này.
- Cả hai đều có thể được sử dụng để lấy đầu vào từ đầu vào chuẩn.
Sự khác biệt giữa scanf và get là gì?
scanf vs được |
|
scanf là một hàm C để đọc đầu vào từ đầu vào chuẩn cho đến khi gặp phải khoảng trắng, dòng mới hoặc EOF. | get là một hàm C để đọc đầu vào từ đầu vào chuẩn cho đến khi gặp dòng mới hoặc EOF. Nó coi khoảng trắng là một phần của đầu vào. |
Cú pháp | |
Hàmscanf nhận chuỗi định dạng và danh sách địa chỉ của các biến. ví dụ. scanf (“% d”, &number); | Hàmget lấy tên của biến để lưu giá trị nhận được. Ví dụ. được (tên); |
Tính linh hoạt | |
scanf có thể đọc nhiều giá trị của các kiểu dữ liệu khác nhau. | get () sẽ chỉ nhận dữ liệu chuỗi ký tự. |
Tóm tắt - scanf vs được
scanf và get là các hàm được cung cấp bởi ngôn ngữ lập trình C. Người dùng không cần thực hiện các hàm này ngay từ đầu. Họ có thể trực tiếp sử dụng chúng trong các chương trình của họ. Sự khác biệt giữa scanf và get là, scanf kết thúc việc lấy đầu vào khi gặp phải khoảng trắng, dòng mới hoặc End Of File (EOF) và được coi là khoảng trắng là một phần của chuỗi đầu vào và kết thúc đầu vào khi gặp dòng mới hoặc EOF. Việc sử dụng scanf hoặc get phụ thuộc vào cách nhận thông tin đầu vào của người dùng từ đầu vào tiêu chuẩn thường là bàn phím. scanf linh hoạt hơn get.
Tải xuống Phiên bản PDF của scanf và được
Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây Sự khác biệt giữa scanf và được