我有以下C程序(尽可能简单):
#include <stdio.h>
main()
{
printf("Test");
}
但是在Cygwin中使用gcc编译器,除非我做出以下修改,否则我无法使用该程序:
#include <stdio.h>
int main()
{
printf("Test");
return 0;
}
有人可以解释为什么吗? “int”和“return 0”有什么特别之处?
谢谢! 阿米特
答案 0 :(得分:2)
使用C,您始终需要指定输出类型。因此始终需要int
(对于某些编译器,void
也会起作用。)
“正常”最小版本是:
int main(int argc, char **argv){
return 0;
}
根据您的系统,您还可以在其中char **envp
和char **apple
。
http://en.wikipedia.org/wiki/Main_function_(programming)#C_and_C.2B.2B
答案 1 :(得分:1)
int
是每个C标准main
所需的返回类型。
答案 2 :(得分:0)
int是返回码。我相信C默认返回0.一般来说,返回0意味着成功完成程序,而1,2,3 ...将是错误代码。它通常由想要测试程序是否成功运行的程序使用。
答案 3 :(得分:0)
int
是函数的返回类型,在本例中为main()
。如您所知,您始终需要在C中指定函数的返回类型(可能是void
;您不需要返回任何内容)!
当你的函数有一个返回类型(例如int
)时,你有义务放一个返回句子(例如return 0;
)。在C中,当函数正确执行时,返回0是“标准”。此外,运行程序时,可以获取执行后返回的值(在本例中为0)。如果程序的执行会错误地终止,那么你可以返回任何其他值(-1,1,2等),并且你更容易检测错误并进行调试。