Y-Crystal 发表于 2018-11-19 21:35:17

代码开头为什么是 int main()?

#include<stdio.h>
int main()
{
        int r;
        double c,s;
        r=5,c=2*3.14*r,s=3.14*r*r;
        printf("c=%e,s=%e\n",c,s);
       
}
请问在第四章作业里,为什么第二行代码必须是int main()才能运行?定义的变量既有整型又有浮点型,为什么一定得用int才可以?我刚开始用的是void main()出错了,紧接着改成float main()还是不行。

灰色的天空 发表于 2018-11-19 21:43:14

本帖最后由 灰色的天空 于 2018-11-19 22:01 编辑

你这个都不带返回的。系统会默认返回int型的一个值

丶忘却的年少o 发表于 2018-11-20 10:47:20

int main()就像一个入口,一个程序总要有入口吧,至于为什么叫 main 就是主函数的意思,至于为什么不是别的,那就要问丹尼斯里奇了。
为什么返回值是 int 不是别的,很早以前是 void main(),其实底层已经有一个体系,后来演变成 int main(),返回的是一个错误码,如果正常运行了这个程序返回的是0,不正常就是错误码,系统可以根据错误码进行对应的操作,错误码的类型是int,不是float和double等,只是int
错误码的详情:https://www.cnblogs.com/icebutterfly/p/7834453.html

啊涂涂 发表于 2018-11-20 15:10:33

那函数的返回值和你定义的变量类型之间是没有关系的,该是什么返回值就是什么,随便用户怎么定义里面的变量

Y-Crystal 发表于 2018-11-23 21:29:59

谢谢大家的耐心解答

郑载序 发表于 2018-11-25 16:31:01

定义主函数,int main(){
    printf ("AK47")
}
页: [1]
查看完整版本: 代码开头为什么是 int main()?