rendered paste body#include <stdio.h>#include <stdlib.h>#include <string.h>void printback();char *buffer;const int range = 'a'+26;int length = 0;int spin(register char* p){ for (*p='a';*p<range;*p+=1) { if (p < buffer+length) { spin(p+1); } printf(" %s\n",buffer); } (*p)--; //fixes special case parent foobar return 1;}/* * ./recurse <num_chars> */int main(int argc, char ** argv){ int i; if (argc!=2) return argc; int pass_length = atoi(argv[1]); buffer = (char *) calloc(pass_length+1,sizeof(char)); buffer[pass_length]='\0'; /* This is a call to a recursive function */ for(i=0;i<=pass_length-1;i++){ memset(buffer,'\0',pass_length); length = i; spin(buffer); } return 0;}