ในปัญหานี้ เราได้รับอาร์เรย์ของสตริง งานคือสร้างโปรแกรม C เพื่อย้อนกลับอาร์เรย์ของสตริง
เราจะย้อนกลับองค์ประกอบของอาร์เรย์ คือองค์ประกอบสุดท้ายกลายเป็นค่าแรก และต่อไป
ตัวอย่างเพื่อเข้าใจปัญหา
อินพุต
strarr[] = {"learn", "programming", "at", "tutorialspoint"}
เอาต์พุต
strarr[] = {"tutorialspoint", "at", "programming", "learn"}
เพื่อแก้ปัญหานี้ เราจะสร้างอาร์เรย์ของตัวชี้ (pointers) และใช้ตัวชี้สองตัวจากจุดเริ่มต้นและจุดสิ้นสุด แล้วเคลื่อนตัวชี้เข้าหากัน และสลับค่าตัวชี้ไปเรื่อยๆ
โปรแกรม C ย้อนกลับอาร์เรย์ของสตริง
// โปรแกรม 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", "tutorialspoint"};
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 tutorialspoint tutorialspoint at programming learn