在这个问题中,我们得到了一个字符串数组。我们的任务是创建一个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