neumi5694: Having runnable programs outside classes is very outdated.
I disagree. Even modern languages, like Python and even Rust, have programs that run outside of classes. In fact, Python doesn't even require that the code be in a function, and Rust doesn't even have classes! (Rust does have structs and traits, which are somewhat similar, however.)
lupineshadow: How is 1 + "1" defined in C?
printf("%d", 1 + "1"); will output...?
I don't think the output of that is defined, as "%d" specifies an integer, but you're passing it a pointer to char (char *).
What I've written is actually a case of pointer arithmetic. "1" is a pointer to the first character of that string, which is null terminated. "1" + 1, which is the same as 1 + "1", "1"[1], or even 1["1"], is a pointer to the second character, which is the null terminator. Therefore, the expression actually evaluates to a pointer to the empty string, and printing it (with "%s", not "%d") will just print the empty string.
2 + "2", on the other hand, points to just after the null terminator, and I'm pretty sure that's not defined in C. (In particular, trying to print it could, theoretically, print forever or segfault.)