Mình chưa hiểu lệnh getchar() trong đoạn code này lắm! Lệnh getchar() để nhận giá trị từ bàn phím, nhưng trong đoạn code này lệnh getchar() nhận giá
trị từ bàn phím rồi lưu vào biến nào vậy?
Mình cũng thử bằng Eclipse rồi nhưng mà sao nó ko chạy! Toàn nhận giá trị từ bàn phím ko!
Đây là đoạn code trong sach The C program language
#include <stdio.h>
/* count characters in input; 1st version */
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld
", nc);
[QUOTE=i0988305410;170240]Cũng vậy thôi bạn ơi![/QUOTE]
Bạn xem lại IDE của mình xem sao nhé! Làm theo cách của bạn Trung là đúng rồi đó. Nhấn Ctrl + Z để thoát khỏi vòng lặp, dừng việc nhập.
getchar() : 1 marcro trả về giá trị sau khi thực hiện phép gán vào getchar() lấy từ bộ nhớ đệm và kết thúc bằng ’
’ ( enter ) , nghĩa là trả về ký tự hoặc những kí tự ( xâu ) sau khi nhập từ bán phím và kết thúc việc nhập bằng Enter
Nên while(getchar()!=EOF) là khi mà những kí tự trả về đó chưa phải là End-Of-File ( EOF ) thì vòng lặp vẫn tiếp tục , mà End-Of-File trong soạn thảo có text là Ctrl-Z ( win32)
[QUOTE=10520058;170347]crtl + C xem bạn, không dùng eclipse bao giờ :-)[/QUOTE]
Vẫn không đc bạn à! Tại mình định mò từ từ C/C+±>Java->Android nên mới dùng Eclipse đó bạn à!
Theo bạn thì trong Ubuntu tốt nhất là dùng IDE gì?
Cảm ơn nha!
[QUOTE=i0988305410;170371]Vẫn không đc bạn à! Tại mình định mò từ từ C/C+±>Java->Android nên mới dùng Eclipse đó bạn à!
Theo bạn thì trong Ubuntu tốt nhất là dùng IDE gì?
Cảm ơn nha![/QUOTE]
theo mình thì bạn thích gì dùng đó, đầu tiên mình gợi ý thôi. Bạn tiếp xúc nhiều sẽ thấy cái nào hợp
Ngôn ngưc khác nhau thì dùng cái khác nhau :
C/C++ :Codeblock so good
Java/Android: eclipse/netbean.
Nhưng để bắt đầu khuyên bạn nên dùng text editor như Vim/Nano/gedit/Kate,… để rèn khả năng lập trình cho vững và chạy bằng dòng lệnh debug. Việc này bạn sẽ thấy nhàm chán nhưng sẽ tốt cho việc xem xét lỗi sau này
Cho mình hỏi thêm là sao phải gán c=getchar(). getchar() là để nhận kí tự từ bàn phím mà, chỉ cần mình while(getchar() != EOF)
putchar();
là được rồi.
À, mình cũng thử bằng gedit rồi, nó báo là: IO.c:10:1: error: too few arguments to function ‘putchar’
Mình chưa rõ chỗ này lắm, mong giải thích cặn kẽ! Cảm ơn mọi người
[QUOTE=i0988305410;171534]Cho mình hỏi thêm là sao phải gán c=getchar(). getchar() là để nhận kí tự từ bàn phím mà, chỉ cần mình while(getchar() != EOF)
putchar();
là được rồi.
À, mình cũng thử bằng gedit rồi, nó báo là: IO.c:10:1: error: too few arguments to function ‘putchar’
Mình chưa rõ chỗ này lắm, mong giải thích cặn kẽ! Cảm ơn mọi người[/QUOTE] http://www.cplusplus.com/reference/cstdio/putchar/