+ 2
Can anybody explain why the "main" isn't a reserved word in C acording to SOLOLEARN? And why it print 3 the following code?
#include <stdio.h> int main() { int main =3; printf("%d", main); return 0; }
3 Answers
+ 3
Long story short, the compiler views main() as a function (which it is), so using main as a variable isn't in conflict with it.
As for your second question, int main = 3 is declaring the variable 'main' and initializes its value as 3. Printf is then printing the value of 'main' which is equal to 3, so 3 is what is being printed by that code.
Hope that helps!
+ 2
Thx..... Yes if "main" isn't a reserved word, the code has to output on the screen 3, but as far as I know the C language standard doesn't allow to use "main" as a name for a variable. So my question was around the "main" used like in the code if it is acording to C standard.
+ 2
You're welcome. That's what I was implying in the first paragraph. Main isn't a reserved keyword in C language, so you can use it as a variable name if you want.