Compiling with int main(void) fails; main(int argc, char *argv[]) succeeds. Why?

后端 未结 2 539
清歌不尽
清歌不尽 2020-12-19 11:22

Problem

Why would compiling a program which has an int main(void) main function differ from compiling a program which has an int main(int argc,

2条回答
  •  醉梦人生
    2020-12-19 11:57

    The specification of main(...) is a contract. In the C language, the contract says that the arguments are int and char **. This is a requirement your program has to fulfill, if it wants the environment to interact with it.

    Whether or not your program wants to use the parameters is a different issue -- it just has to abide by the contract that there is a functiona named main, with the correct order and type of parameters.

提交回复
热议问题