Convert Integer to String

Code

#include <stdio.h>

void print_integer_as_string(int num)
{
    // Special case: 0
    if (num == 0)
    {
        printf("0\n");
        return;
    }

    // Handle negative
    if (num < 0)
    {
        printf("- ");
        num = -num;
    }

    char buffer[12];   // enough for 32-bit int
    int index = 0;

    // Extract digits
    while (num > 0)
    {
        int digit = num % 10;
        buffer[index++] = '0' + digit;
        num /= 10;
    }

    // Print in correct order with spaces
    for (int i = index - 1; i >= 0; i--)
    {
        printf("%c", buffer[i]);
        if (i != 0)
            printf(" ");
    }

}

int main() {
    int num;
    scanf("%d", &num);
    print_integer_as_string(num);
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

123

Expected Output

1 2 3