我正在学习C语言,编写了以下代码:
#include <stdio.h>
void main()
{
char ch='a';
printf("%c\n", ch);
}
然后我使用GCC编译代码,但是我弄错了:
return type of 'main' is not 'int' [-Wmain-return-type]
我没有使用任何数据类型int,出了什么问题?
答案 0 :(得分:5)
正如编译器告诉你的那样,main()
必须返回int
int main(void)
{
return 0;
}
返回值是程序的退出代码。
答案 1 :(得分:2)
在这种情况下,您需要使用
#include <...>
int main(){
//code
return 0; //or return any_integer;
}
如果您的程序返回 nothing ,系统将永远不知道运行成功或存在一些错误。
答案 2 :(得分:1)
使用:
int main(void) { /* ... */ }
用于没有参数的main
函数的定义。请注意,int main() { /* ... */ }
也有效,但前一个定义是首选。
答案 3 :(得分:0)
错误意味着,main()
应该返回int
。将main()
设置为int类型并返回有效的退出条件整数,通常终止为return 0
。请参阅此前SO answer
答案 4 :(得分:0)
养成使用习惯:
int main( int argc, char* argv[] ){
// your code
return 0;
}
argc
是传递给程序的参数数量。
argv
是字符串from中的参数数组。