You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为C语言程序指定正确返回类型?解决main函数隐式返回类型警告

解决main函数返回类型隐式声明的警告问题

这个警告的原因很清晰:在C99及之后的标准里,main函数必须显式指定返回类型。旧版本的C允许省略返回类型,默认视为int,但现代编译器会把这种不规范的写法抛出警告。

你只需要把原来的main()修改成显式的int main(void)(因为你的main函数没有接收命令行参数,void明确表示无参数,写法更严谨),或者int main()也可以,就能彻底消除这个警告。

修改后的完整代码如下:

#include <stdio.h> 

/* function declaration */
void func(void);

static int count = 5; /* global variable */

int main(void) {
    while(count--) {
        func();
    }
    return 0;
}

/* function definition */
void func(void) {
    static int i = 5; /* local static variable */
    i++;
    printf("i is %d and count is %d\n", i, count);
}

补充说明两点:

  • int main(void)明确告知编译器main函数的返回类型是整数,完全符合C标准的要求
  • 如果后续需要处理命令行参数,可以写成int main(int argc, char *argv[]),但你的代码场景里不需要,所以int main(void)是最适配的写法

这样修改后,再编译代码就不会出现return type defaults to 'int'的警告了。

内容的提问来源于stack exchange,提问作者mistermarko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:15:19