Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C ย้อนกลับอาร์เรย์ของสตริง

ในปัญหานี้ เราได้รับอาร์เรย์ของสตริง งานคือสร้างโปรแกรม 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