All pastes #833759 Raw Edit

Stuff

public text v1 · immutable
#833759 ·published 2007-12-27 16:49 UTC
rendered paste body
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *buffer;
const int range = 'a'+26;
int length = 0;

int spin(char* p){
        /* 26 == alphabet */
        for(*p='a';*p<range;*p+=1){
                printf("%s\n",buffer);
                /*Recursion*/
		            if(p < buffer+length-1) /* one less call, same branches */
                    spin(p+1);
        }

        return 1;
}

/*
 * ./recurse <num_chars>
 * ./recurse 3
 */
int main(int argc, char ** argv) {
        if(argc!=2) return argc;

        int pass_length = atoi(argv[1]);

        buffer = (char *) calloc(pass_length+1,sizeof(char));
        buffer[pass_length]='\0';
        memset(buffer,'a',pass_length);

        /* This is a call to a recursive function */
        length = pass_length;
        spin(buffer);
        return 0;
}