Tôi đang đọc K & R's Ngôn ngữ lập trình C và đã trở nên nhầm lẫn trên putchar và getchar. Tôi đã thực hiện một chương trình mà bạn nhập 10 ký tự và chương trình in chúng trở lại màn hình.Putchar và Getchar trong C
#include <stdio.h>
int main()
{
int i;
int ch;
for(i = 0; i < 10; i++)
{
printf("Enter a single character >> ");
ch = getchar();
putchar(ch);
}
return 0;
}
tôi mong đợi để có được một kết quả như thế này:
Enter a single character >> a
a
Enter a single character >> b
b
... và vân vân 10 lần nhưng đây là sản phẩm tôi nhận: (tôi dừng lại sau khi nhập 2 ký tự)
Enter a single character >> a
aEnter a single character >>
Enter a single character >> b
bEnter a single character >>
Enter a single character >>
không chắc chắn lý do ký tự đầu vào của tôi được kết hợp với chuỗi cố định và đầu ra.
Ngoài ra, tôi không chắc chắn lý do tại sao int được sử dụng để lưu trữ các ký tự.
Cảm ơn bạn đã trả lời nhưng mã vẫn không hoạt động, "Nhập một ký tự đơn >>" vẫn được in hai lần khi không được. Nếu bạn nhìn vào bài viết chính của tôi và khối mã cuối cùng bạn có thể thấy trên dòng thứ hai ý tôi, char a đã được nối với chuỗi "Enter a single character >>" và sau đó là "Enter a single character >> "chuỗi được in ngay lập tức vào màn hình. –
@CSStudent: Tôi hiểu. Kiểm tra câu trả lời của tôi ngay bây giờ :) – LihO