Giả sử bạn muốn lấy một ký tự, sau đó là một chuỗi và một câu (chuỗi có dấu cách) bằng cách sử dụng C. Vì vậy, chúng tôi sẽ cung cấp ba đầu vào và in giống như đầu ra. Kích thước tối đa của chuỗi ở đây là 500.
Vì vậy, nếu đầu vào giống như
character = 'T' string = "ProgrammingLanguage" sentence = "I love programming through C",
thì đầu ra sẽ là
Your character: T Your string: ProgrammingLanguage Your sentence: I love programming through C
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
Đối với ký tự, chúng ta cần sử dụng scanf ("% c", &character);
-
Đối với chuỗi, chúng ta cần sử dụng scanf ("% s", string);
-
Bước này là tùy chọn, nhưng bắt buộc trong một số trường hợp. Đôi khi bạn có thể phải đối mặt với một vấn đề. Chương trình của bạn đôi khi không chờ đợi dữ liệu nhập tiếp theo, vì vậy chúng tôi cần xóa bộ đệm bằng cách sử dụng fflush (stdin)
-
Và đối với chuỗi có dấu cách, chúng ta cần sử dụng hàm fgets (). Ở đây, tham số đầu tiên là chuỗi, tham số thứ hai là kích thước và tham số cuối cùng là stdin để lấy đầu vào từ bảng điều khiển.
-
Cái cuối cùng cho biết chúng ta cần một ký tự dòng mới để biểu thị kết thúc của chuỗi. Nếu không, nó cũng sẽ chiếm khoảng trắng.
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#include <stdio.h> int main(){ char character; char string[500]; char sentence[500]; scanf("%c", &character); scanf("%s", string); fflush(stdin); fgets(sentence, 500, stdin); printf("Your character: %c\n", character); printf("Your string: %s\n", string); printf("Your sentence: %s\n", sentence); }
Đầu vào
T ProgrammingLanguage I love programming through C
Đầu ra
Your character: T Your string: ProgrammingLanguage Your sentence: I love programming through C