[QUOTE]\n[QUOTE]\nI merged your code into mine. It appears I muffed something in line 31.\n\ngcc NL_pxm-array.c\n_pxm-array.c: In function 'main':\n_pxm-array.c:31:5: error: 'for' loop initial declarations are only\nallowed in C99 mode\n_pxm-array.c:31:5: note: use option -std=c99 or -std=gnu99 to compile\nyour code[/QUOTE]\n\nSo - follow the instructions. Add the option -std=c99 to your compiler\ncommand line.\n[QUOTE]\n_pxm-array.c:32:13: warning: assignment makes pointer from integer\nwithout a cast [enabled by default][/QUOTE]\n\nThis implies that the compiler thinks that the call to strtok() returns\nan integer, which is not the case. Why would it think that? Because\nstrtok() is declared in <string.h>, and your code doesn't include that\nheader. In C90, if you used an undeclared identifier as if it were the\nname of a function, it get implicitly declared as a function returning\n'int'. C99 has more reasonable behavior: it's a constraint violation to\nattempt calling an undeclared function.[/QUOTE]\n\nAh, that explains ....\n\nI was going to strongly recommend that the OP make a habit of\ncompiling with flags to enable optional warnings ("-Wall -pedantic"\nis what I usually use, that being a reasonable compromise for\nme between "all possible warnings" and "too much to type" [*]),\nin which case gcc would have produced the warning message\n\nqq.c:32: warning: implicit declaration of function 'strtok'\n\nwhich is at least a clue about the real problem.\n\nIn the course of confirming that my advice wasn't going to be total\nnonsense, I observed that just "-std=c99" produces the warning about\nimplicit declaration. Which now makes sense!\n\nBe that as it may, I still vote for compiling with at least a minimal\nset of "show me more warnings" flags -\- not infrequently (as in this\ncase) the extra warnings are clues about behavior that otherwise could\nbe puzzling.\n\n[*] Yes, yes, makefiles, scripts, aliases .... Sometimes it's simpler\nto just go with what one is willing to type. IMO.