Sao bạn không khai báo thư viện ctype.h, thư viện này có hàm tolower chuyển đỏi các kí tự thành kí tự in thường. Link tham khảo: http://www.tutorialspoint.com/c_standard_library/c_function_tolower.htm
Bài này bạn đã post 1 lần rồi (Chương trình xuất ra ký tự lạ). Và cái này không phải lỗi nha, tại bạn không cẩn thận. Mã ASCII của của 'A' = 65, 'Z' = 90 và 'a' = 97, 'z' = 122. Tại dòng 12, bạn cộng thêm cho 32 không phân biệt đâu là ký tự thường, đâu là ký tự hoa mà đáng lẽ chỉ ký tự hoa mới cần cộng thêm 32. Code được sửa lại thành if(p[i] >= 'A' && p[i] <= 'Z') {. Khi các ký tự thường cộng thêm 32 thì nó ra ký tự khác là phải đạo rồi (nó nằm trong bản Extended ASCII codes, bạn thử đối chiếu đi). (Tham khảo thêm ASCII codes and ASCII extended codes)
P/s: Lần sau bạn nên post code dùng markdown nha.
Sao bạn không khai báo thư viện ctype.h, thư viện này có hàm tolower chuyển đỏi các kí tự thành kí tự in thường. Link tham khảo: http://www.tutorialspoint.com/c_standard_library/c_function_tolower.htm
This post was flagged by the community and is temporarily hidden.
bạn nên ghi ra Vấn đề chính lỗi ngay trên tiêu đề, để những người sau có tìm kiếm hay bi lỗi tương tự dễ dàng hơn
Bài này bạn đã post 1 lần rồi (Chương trình xuất ra ký tự lạ). Và cái này không phải lỗi nha, tại bạn không cẩn thận. Mã ASCII của của
'A' = 65
,'Z' = 90
và'a' = 97
,'z' = 122
. Tại dòng 12, bạn cộng thêm cho 32 không phân biệt đâu là ký tự thường, đâu là ký tự hoa mà đáng lẽ chỉ ký tự hoa mới cần cộng thêm 32. Code được sửa lại thànhif(p[i] >= 'A' && p[i] <= 'Z') {
. Khi các ký tự thường cộng thêm 32 thì nó ra ký tự khác là phải đạo rồi (nó nằm trong bản Extended ASCII codes, bạn thử đối chiếu đi). (Tham khảo thêm ASCII codes and ASCII extended codes)P/s: Lần sau bạn nên post code dùng markdown nha.