十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
c语言中一个完整的函数由函数首部和函数体构成,而且定义函数时两者都是必不可少的。
站在用户的角度思考问题,与客户深入沟通,找到班玛网站设计与班玛网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、雅安服务器托管、企业邮箱。业务覆盖班玛地区。
函数定义的一般形式如下:
类型标识符
函数名(形参表列)
//
这是函数首部
//
以下{
}内的是函数体
{
说明部分
执行部分
}
举例说明如下:
//
定义一个不带返回值的函数
//
函数功能:输出形参的值
void
fun(int
a,
int
b)
{
printf("%d,
%d\n",
a,
b);
}
//
定义一个带返回值的函数
//
函数功能:返回2个整数数的最大值
int
fun(int
a,
int
b)
{
return
ab
?
a
:
b;
}
定义和声明可以分开的。先声明两个函数,然后再后面再写函数体就可以了。比如
void A();
void B();
void A()
{
B();
return;
}
void B()
{
A();
return;
}
int add(int a,int b)
{
return a+b;
}
int sub(int a,int b)
{
return a-b;
}
if(i%2==0)
{
p=add;
}
else
{
p=sub;
}
int sum=p(3,3);
利用了函数指针,赋值不同的函数给它。前提是两个函数的参数要一致
到底是什么意思呢?
像这样吗?
struct
SLIST
a,b,c,*p;
a.data='a';
b.data='b';
c.data='c';
p=a;
a.next=b;
b.next=c;
c.next='\0';
if(p==‘\0’)//这样应该是0而不是O
printf(“Linklist
is
null!\n”);/*链表为空(只有头结点)*/
else
/*链表非空*/
{
printf(“head”);
do
{printf(“-%d”,p-data);/*输出当前结点数据域中的值*/
p=p-next; /*p指向下一个结点*/
}
while(p!=‘\0’); /*未到链表尾,继续循环*/
printf(“-end\n”);