So. Two things.
int main(int argc, string argv[])
Notice the type of argv. It is an array of stings that is of unknown length (0 to n).
Next notice this:
if (argv[1] < 0)
This is a comparison operator between a string and an int. Now, strings can easily have integer values (everything is bits once you go down far enough) so.. if the string's value is less than 0, it'll do as you expect. The problem is that this will probably never fire. Needless to say, C will allow you to do this, because typing for it is kinda... well... it won't care if you do something like compare strings and ints.
You can take a look here: Converting string to integer C which will help you understand how to convert a string to an integer value.
a quick exert from the linked SO question above:
int num = atoi(s);
So you could do instead...
if (atoi(argv[1]) < 0)
or
int argument = atoi(argv[1])
if (argument < 0)