30/09/2018, 17:20
Thắc mắc về hàm strcmp() và strrev() trong C
Theo em biết thì hàm strrev() đảo ngược 1 chuỗi. Còn hàm strcmp() dùng để so sánh 2 chuỗi nếu giống nhau thì trả về 0, khác thì trả về giá trị khác 0.
Ở đây em đang làm chương trình kiểm tra chuỗi thuận nghịch. Nhưng nhập bất cứ chuỗi nào thì kết quả hàm strcmp() vẫn trả về 0.
Mọi người giải thích hộ em xem em hiểu sai ở đâu ạ?
#include<stdio.h>
#include<iostream>
int thuannghich(char A[])
{
return strcmp(strrev(A),A);
}
main()
{
char A[100]="DFGHE";
printf("%d",thuannghich(A));
}
Bài liên quan
sau khi gọi hàm strrev thì chuỗi A sẽ thay đổi theo luôn nha bạn.trước khi gọi strrev bạn nên strcpy một chuỗi mới