①. 根据功能,想一个函数名,并设计好返回值类型以及参数列表.参数列表包括参数个数,每个参数类型,以及该参数的作用.
#include?stdio.h
int?fun(int?n)?{?return?n*n;?}
int?main()?{?int?n;
scanf("%d",n);
printf("%d",fun(n));
}
int?fun()?{?int?n;?scanf("%d",n);?return?n*n;?}
int?main()?{?printf("%d",fun());?}
推荐使用前面那个,一般由主程序进行输入和输出,函数负责处理数据,除非是输入函数和输出函数,即使这样也不会即输入又计算n*n,导致函数功能过于复杂、调用含义不清
有些自定义函数可能会被频繁的调用,所以写在一个C文件里是不太方便的.应该把这些自定义的函数写在一个C文件里,同时在一个头文件.h文件里声明.主函数可以通过引用该头文件然后调用需要的自定义函数.
举例如下:
① 在头文件(.h)里声明自定义函数,定义用户写的函数;
#include stdio.h
void number(int);
int main()
{
for(int i = 0;i10;i++)
number(i);
(1)素数判断函数:是返回1,否则返回0
int?prime(int?n){
int?i;
return?0;
if(!(n%i))
return?1;
void?bubbling(int?*p,int?n){//冒泡
int?i,j,k;
for(i=0;in;i++)
for(j=1;jn;j++)
if(p[j]p[j-1])
k=p[j],p[j]=p[j-1],p[j-1]=k;
void?select(int?*p,int?n){//选择
for(n--,i=0;in;i++){
for(k=i,j=k+1;j=n;j++)
if(p[k]p[j])
k=j;
if(k-i)
j=p[k],p[k]=p[i],p[i]=j;
int?find(int?*p,int?n,int?x){//顺序
if(p[i]==x)
return?i;
return?-1;
int?fihalf(int?*p,int?n,int?x){//折半,升序为例
int?l,r,m;
l=0,r=n-1;
while(m=(l+r)1,lr?p[m]-x)
p[m]x?l=m+1?:?r=m-1;
return?p[m]==x?m?:?-1;
可以的,前提是,在使用一个函数之前必须先对他进行声明:
//void B();声明B函数的存在.
void A()
B();//非法,程序执行到此时并不知道B函数的存在.
void B()
或者
#include stdlib.h
#include math.h
int fa(int n)
int a;
if(asqrt(n*1.0))
return(1);
else
return(0);
void main( )
int n,q;
扩展资料
从函数定义的角度看,函数可分为库函数和用户定义函数两种.
(1)库函数
由C系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用.在前面各章的例题中反复用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函数均属此类.
由用户按需要写的函数.对于用户自定义函数, 不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用.
以上就是土嘎嘎小编为大家整理的如何自定义函数c语言相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!