在这个问题中,我们得到了一个字符串数组。我们的任务是创建一个ac程序来反转字符串数组。
我们将把数组元素即最后一个元素反转为第一个值,依此类推。
让我们举个例子来了解这个问题,
strarr[] = {"learn", "programming", "at", "nhooo"}输出结果
strarr[] = {"nhooo", "at", "programming", "learn"}为了解决这个问题,我们将创建一个指针数组,并从头到尾使用两个指针。然后将指针移向另一侧,并继续交换指针值。
// c程序反转字符串数组。
#include <stdio.h>
#include <string.h>
void ReverseStringArray(char* strarr[], int n) {
char* temp;
int end = n - 1;
for (int start = 0; start < end; start++) {
temp = strarr[start];
strarr[start] = strarr[end];
strarr[end] = temp;
end--;
}
}
int main() {
char* strarr[] = {"learn", "programming", "at", "nhooo"};
int n = sizeof(strarr) / sizeof(strarr[0]);
for (int i = 0; i < n; i++)
printf("%s ", strarr[i]);
printf("\n");
ReverseStringArray(strarr, n);
for (int i = 0; i < n; i++)
printf("%s ", strarr[i]);
return 0;
}输出结果
learn programming at nhooo nhooo at programming learn