I also discovered I have to precede every '*' symbol with a \ to do the multiply i.e. ./test 7 10 \* rather than just ./test 7 10 *otherwise it starts printing out stuff I don't want. If I don't use the \, argv would also print out my file names and other random ubuntu directories on the desktop and a bunch of other stuff that shouldn't be there :S, that doesn't look too good, since it looks like it's accessing other parts of memory and it could screw up the entire OS. Strange!
No, it's not random at all. In *nix, a command line parameter * means "all files" (like *.*) in the current directory.