在C语言里,主函数,也就是main函数,是C标准的一个组成部分(参考C90/C99标准协议文档)。虽然它也被称作函数。但是,它对于C编译器来讲,它并不是一个真正意义上的函数。或者说,它不属于你代码中的任何一个模块。
成都创新互联公司专注于企业全网整合营销推广、网站重做改版、海州网站定制设计、自适应品牌网站建设、H5技术、商城网站制作、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为海州等各大城市提供网站开发制作服务。
由于历史原因,丹尼斯里奇和肯汤普森在完成对Basic的升级之后(也就是最初的C),对于整个语言写成的代码的主入口作出了一个定义,也即,使用一个名为main的,被定义为函数形式的段表示整个C程序(在OS中运行的某个进程)的进入点(Entrance)。
但对于用户的代码而言,用户使用C语言编写的所有模块中的函数都是经过设计和实现的;而不具有main的通用性。也许你应该知道,一个C程序的执行必然是从main开始的。
关于模块化编程,我不知道提问者是否清楚其具体。如果不甚明白的话,请参考(C语言模块化编程(我见过最好的).pdf),来源于百度文库。
包括返回值,函数名,形参列表和函数体四个部分。
例如 :
int findmin(int a[],int n){
//函数体
return min;
}
以上函数int 是返回值,findmin是函数名, int a[] int n是形参列表
C语言中用函数来实现程序模块。
模块化程序设计是将一个大的任务分解成若干个小任务,再将小任务分解成更小的任务,直到每一个任务都只完成一个独立功能。这样的每个任务都叫做模块,C语言中模块是用函数来实现的。
借助函数来实现程序模块化,把你想实现的功能用函数来实现,不同功能的就用不同的函数来实现,而且,函数在一定程度上可以被复用,所以称为模块,搜索零基础学通C语言系列大全之线程_模块儿_静态库_循环总结视频教程就可以看了。
C语言中的模块化体现在两个方面:
1 函数。函数是C语言的最小单位,每个函数均实现一个独立的功能,于是每个函数均可以当做是一个最小的功能模块。这样,C语言就实现了最基本的模块化。
2 文件。在C语言中,支持一个程序由多个源文件编译,所以可以把类似功能的一组函数写在同一个文件中,以源文件为单位,实现模块化。当模块较大时,可以写在多个头文件中,然后编译成一个库文件,以库文件为单位,实现模块化。
不知道你要实现什么功能,只给你说了下问题所在
#includestdio.h
#include "conio.h" //getch()函数要这个头文件
int sum_(int m,int d);//函数用之前要声明
int leap(int y);
void main()
{
int sum_(int,int);
int leap(int);
int y,m,d,s;
printf("Please input the year,month and day:\n");
scanf("%d%d%d",y,m,d);
sum_(m,d); //这里返回的S没用上
leap(y); //这里返回的S没用上
printf("It's %d days",s);//这里的S没有给值,是不是应取上面两个函数中的一个
getch();
}
int sum_(int m,int d)
{
int s;
switch(m)
{
case 12:s=334+d;break;
case 11:s=304+d;break;
case 10:s=273+d;break;
case 9:s=243+d;break;
case 8:s=212+d;break;
case 7:s=181+d;break;
case 6:s=151+d;break;
case 5:s=120+d;break;
case 4:s=90+d;break;
case 3:s=59+d;break;
case 2:s=31+d;break;
case 1:s=d;break;
}
return s;
}
int leap(int y)
{
int s,m; //这里的m,s没有初始化,应从主函数中传递过来如用int leap(int y,int s,int m)
if(m2y%400==0||y%100!=0y%4==0)
s=s+1;
return(s);
}