01/10/2018, 16:05
Giúp tìm lỗi trong chương trình phát sinh do hàm getchar
mình có code một chương trình đoán số ngẫu nhiên

mình code thế này sử dụng hàm scanf thì nó không vấn đề gì, nhưng thay bằng getchar thì lại errorr, như thế này này

mong các bạn chỉ ra lý do, mình vẫn đang học căn bản lên hơi ngu tí, mong các bạn thông cảm
Bài liên quan
getchar()
là bao gồm các kí tự(a-z, A-Z, 0–9, !@#$%^&*()-=+_{}:”?><,./;’[]\|…. )
và không phải là số. Nó tương đương vớiscanf(“%c”, &var)
và đương nhiên với dữ liệu kiểu kí tự không thể so sánh với dữ liệu kiểu số được.Tham khảo: https://www.quora.com/What-is-the-difference-between-getchar-and-scanf-functions-for-reading-in-c-programming
So sánh được nhé. Bản chất kiểu char trong C cũng chỉ là kiểu số thôi.
Ideone.com
Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.
Tóm lại, bạn thớt nên tìm 1 hàm khác getchar() (như scanf) để đọc số.
Ok anh. Từ Pascal sang nên còn ngố người. :v
mình vẫn chưa hiểu lắm, theo mình biết thì hàm getchar() có tác dụng như scanf mà không cần phải quan tâm tới kiểu dữ liệu nhập xuất, nên nếu thay getchar() vào nó cũng phải tương tự chứ mới cả ký tự thì cũng chỉ là số thôi mà.
getchar() chỉ lấy 1 kí tự thôi. Nếu bạn nhập 4, thì thực tế giá trị của c là 52 chứ không phải là 4 (mã ASCII của ‘4’ là 52). Nếu bạn nhập 23, thì c chỉ có giá trị là ‘2’ = 50 thôi. Kết quả sẽ sai khác rất nhiều.
cảm ơn bạn mình hiểu rồi