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));
}
Nhật Cao Khánh viết 19:35 ngày 30/09/2018

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

Bài liên quan
0