How to print text diagonally from left to right recursively in C

1 Answer

0 votes
#include <stdio.h>

void print_text_diagonally_recursively(int spaces, const char *word) {
    if (*word == '\0') {
        return;  // base case: end of string
    }

    // print the required number of spaces
    for (int i = 0; i < spaces; i++) {
        putchar(' ');
    }

    // print the current character
    putchar(word[0]);
    putchar('\n');

    // recursive call with next character and one more space
    print_text_diagonally_recursively(spaces + 1, word + 1);
}

int main() {
    const char *text = "Hello World";
    
    print_text_diagonally_recursively(0, text);
    
    return 0;
}



/*
run:
 
H
 e
  l
   l
    o
      
      W
       o
        r
         l
          d
 
*/

 



answered Apr 7 by avibootz

Related questions

...