C 返回类型为';主要';不是';int';

C 返回类型为';主要';不是';int';,c,main,C,Main,我正在学习C语言,编写了以下代码: #include <stdio.h> void main() { char ch='a'; printf("%c\n", ch); } 我没有使用任何数据类型int,怎么了?正如编译器告诉您的那样,main()必须返回int int main(void) { return 0; } 返回值是程序的退出代码。在这种情况下,您需要使用 #include <...> int main(){ //code return 0;

我正在学习C语言,编写了以下代码:

#include <stdio.h>
void main()
{
  char ch='a';
  printf("%c\n", ch);
}

我没有使用任何数据类型int,怎么了?

正如编译器告诉您的那样,
main()
必须返回
int

int main(void)
{
    return 0;
}

返回值是程序的退出代码。

在这种情况下,您需要使用

#include <...>
int main(){
//code
return 0; //or return any_integer;
}
#包括
int main(){
//代码
返回0;//或返回任意_整数;
}

如果您的程序没有返回任何内容,系统将永远不会知道运行是否成功或是否存在一些错误

错误的意思是,
main()
应该返回
int
。将
main()
设为int类型并返回有效的退出条件整数,通常终止为
返回0
。请参阅前面的使用说明:

int main(void) { /* ... */ }

用于定义不带参数的
main
函数。请注意,
int main(){/*…*/}
也有效,但最好使用前一个定义。

养成使用以下内容的习惯:

int main( int argc, char* argv[] ){

  // your code

  return 0;
}
argc
是传递给程序的参数数


argv
是来自的字符串中的参数数组

您的副本没有使用任何数据类型int——这正是问题所在!
返回0
不是必需的,是隐式的。@哎呀,你看,这个问题的作者可能是个新手,所以这个代码更容易理解。但总而言之,你是对的。我要修改我的答案。
int main( int argc, char* argv[] ){

  // your code

  return 0;
}