先举一个例子
#include<stdio.h>
void print_C(); //函数的声明,声明语句,后面有一个分号
void print_C() //函数的定义
{
printf(" ###### \n");
printf("## ##\n");
printf("## \n");
printf("## \n");
printf("## \n");
printf("## ##\n");
printf(" ###### \n");
}
int main()
{
print_C(); //函数的调用
printf("\n");
print_C();
printf("\n");
print_C();
return 0;
}
一、函数的定义:
类型名 函数名(参数列表)通常使用对应的功能进行命名
(函数的返回值,如果不需要返回就使用void)
{
函数体
}
二、函数的声明
所谓声明(Declaration),就是告诉编译器我要使用这个函数,你现在没有找到它的定义不要紧,请不要报错,稍后我会把定义补上。
如上例,若不写函数的声明,编译器可能会报错哦
三、函数的参数和返回值
eg:1、编写一个函数sum,由用户输入参数n,计算1+2+3+....+(n-1)+n的结果并返回。
#include<stdio.h>
int sum(int n);
int sum(int n) //形式参数,定义一个函数sum
{
int result = 0;
do
{
result += n;
} while (n-- > 0);
return result;
}
int main()
{
int n, result;
printf("input the value of n:\n");
scanf("%d", &n);
result = sum(n); //实际参数
printf("1+2+3+4+...+(n-1)+n的结果是:%d\n", sum(n));
return 0;
}
2、变写一个函数max,接收两个整型参数,并返回他们中的较大的值。
#include<stdio.h>
int max(int, int); //可以不用定义,写明类型即可
int max(int x, int y) //必须进行定义x,y
{
if (x > y)
return x; //如果x>y,返回x的值
else
return y;
}
int main()
{
int a, b, c;
printf("请输入两个整数:");
scanf("%d,%d", &a, &b);
c=max(a, b);
printf("他们中较大的值是:%d\n", c);
return 0;
}