Question: I am trying write a C program to print the string form for an integer. E.g 1234 -> one two three four. Is there a function that would convert it or would I make an array to do this?

Answer: 
A simple recursive solution:

```
void print_number(unsigned x) {
  static const char *digit[10] = { 
          "zero", "one", "two", "three", "four",
          "five", "six", "seven", "eight", "nine" };
  if (x >= 10) {
    print_number(x / 10);
    fputc(' ', stdout);
  }
  fputs(digit[x % 10], stdout);
}

```
I dont think you have a direct function to convert to text. But you can do something like this 

C code to covert each digits of a number in English word

```
#include<stdio.h>

int main(){

  int number,i=0,j,digit;
  char * word[1000];

  printf("Enter any integer: ");
  scanf("%d",&number);

  while(number){

    digit = number %10;
    number = number /10;

      switch(digit){
         case 0: word[i++] = "zero"; break;
         case 1: word[i++] = "one"; break;
         case 2: word[i++] = "two"; break;
         case 3: word[i++] = "three"; break;
         case 4: word[i++] = "four"; break;
         case 5: word[i++] = "five"; break;
         case 6: word[i++] = "six"; break;
         case 7: word[i++] = "seven"; break;
         case 8: word[i++] = "eight"; break;
         case 9: word[i++] = "nine"; break;

       }
  }

  for(j=i-1;j>=0;j--){
     printf("%s ",word[j]);
  }

  return 0;

}

```

Sample output:

Enter any integer: 23451208

two three four five one two zero eight

Also this is previously asked question. So refer to the link [Convert digit to text in C](https://stackoverflow.com/questions/16692586/converting-two-digit-number-to-words-using-switch-statement)