int main (int argc, **argv) { if (argv[1] == \"-hello\") printf(\"True\\n\"); else printf(\"False\\n\"); }
You can't compare strings in C with ==, because the C compiler does not really have a clue about strings beyond a string-literal.
The compiler sees a comparison with a char* on either side, so it does a pointer comparison (which compares the addresses stored in the pointers)
char*