函数声明
- 函数有返回值:返回类型为int、double、float、char
#include<stdio.h>
int fun1(int n);
- 函数无返回值:返回类型为void
#include<stdio.h>
void fun2(int n);
函数定义
- 函数有返回值
#include<stdio.h>
int fun1(int n)
{
return (n+2);
}
- 函数无返回值
#include<stdio.h>
void fun2(int n)
{
printf("有%d只羊\n",n);
}
函数调用
- 传值
#include <stdio.h>
void fun1(int x,int y) //交换数值
{
int temp;
temp=x;
x=y;
y=temp;
printf("x=%d,y=%d\n",x,y);
}
void main()
{
int a=6;
int b=8;
fun1(a,b); //调用无返回值函数
printf("a=%d,b=%d\n",a,b);
}
结果为:x=8,y=6
a=6,b=8
- 传址
#include <stdio.h>
int fun2(int n); //声明函数
void fun1(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
printf("*x=%d,*y=%d\n",*x,*y);
}
void main()
{
int a=6;
int b=8;
int c;
c=fun2(a);//调用有返回值函数
fun1(&c,&b); //调用无返回值函数
printf("a=%d,b=%d\n",c,b);
}
int fun2(int n)
{
return (n+10);
}
结果为:*x=8,*y=16
c=8,b=16
注意:若将函数定义在main函数的后面,则需在main之前进行声明