#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
*/