How to create an array containing a range of characters in C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>

// Function to create a range of characters and return it as a dynamically allocated array
char* createCharacterRangeArray(char start, char end, int* size) {
    *size = end - start + 1; // Calculate the size of the range
    char* charArray = (char*)malloc(*size * sizeof(char)); 

    for (int i = 0; i < *size; i++) {
        charArray[i] = start + i;
    }

    return charArray;
}

// Function to print the characters in the array
void printCharacters(const char* charArray, int size) {
    for (int i = 0; i < size; i++) {
        printf("%c ", charArray[i]);
    }
    printf("\n");
}

int main() {
    char start = 'a';
    char end = 'm';
    int size = 0;

    char* charArray = createCharacterRangeArray(start, end, &size);

    printCharacters(charArray, size);

    free(charArray);

    return 0;
}



/*
run:

a b c d e f g h i j k l m 

*/

 



answered Mar 21, 2025 by avibootz
...