For some reason I'm getting a segment fault for reasons I don't understand.

I run via:
dave@davePC:~/juno-address-book$ ./adconvert test-addrbook.nv juno testoutput  juno-csv
I get:
Segmentation fault (core dumped)
From this code:
int main ( int argc, char *argv[] )

printf("\n\nbefore argc processing.....\n\n");
   if (argc != 5)
        printf("You didn't specify all 4 arguement:\n");
        printf("    1st = input address book file\n");
        printf("    2nd = input address book format\n");
        printf("        juno = Juno .nv format\n");
        printf("    3nd = output file\n");
        printf("    4th = type of conversion:\n");
        printf("        gmail-csv = output csv file in gmail format\n");
        printf("        tbird-csv = output csv file in thunderbird format\n");
        printf("Can't continue, stopping......");
        return -1;
printf("/n/nafter argc processing....\n\n");
No output from the printf's - and they are newline terminated. Shouldn't I at least get the first printf - "before argc processing....." , or am I not understanding how something works again? This DID work until I added an extra arguement (the 2nd). It worked with all 4 once. Ever since I've been getting segmentation faults right away.

I'm trying to clean up my code by adding the command line arguement processing and changing everything over to strings (I got errors in compilation before so I was using char arrays and memcpy - then I found out I was supposed to malloc the strings before I used them )