Em viết hàm xuất chuỗi theo thứ tự ngược như sau:
void reverseCharArray(char a[MAX])
{
int length = strlen(a);
for (int i = length - 1; i >= 0; i--)
{
cout << a[i];
}
cout << endl;
}
sau đó, vì yêu cầu của bài tập mà em viết lại:
void swap(char &a, char &b)
{
char c = a;
a = b; b = c;
}
void arrayOut(char a[MAX])
{
for (int i = 0; i < strlen(a); i++)
{
cout << a[i];
}
cout << endl;
}
void reverseCharArray(char a[MAX])
{
int length = strlen(a);
for(int i = 0; i <= length; i++)
{
swap(a[i], a[length - i]);
}
a[length + 1] = '\0';
arrayOut(a);
}
đoạn code thứ nhất xuất ra hàm theo thứ tự ngược, nhưng đoạn code thứ hai lại xuất ra hàm được nhập vào.
Xin mọi người cho em biết lỗi của đoạn code thứ hai và cách khắc phục ạ. Em cảm ơn!