返回类型' main'不是' int'

时间:2015-01-22 14:40:27

标签: c main

我正在学习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,出了什么问题?

5 个答案:

答案 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中的参数数组。