1.实例:计算10加到20,20加到30,35加到45的和
#include <stdio.h>
void sum(int begin ,int end){ //定义一个函数(void表示没有返回值)
int i;
int sum;
for(i=begin;i<=end;i++){
sum +=i; //函数体
}
printf("%d 加到 %d 的值是 %d \n",begin,end,sum);
}
int main(){
sum(10,20); //调用函数
sum(20,30);
sum(35,40);
return 0;
}
问题来了,我们更加习惯吧main函数放在最开始,如下图:
编译的时候报错了,,,未找到变量sum的数据类型,
因为c的代码是从上而下依次编译的,所以在编译到sum时,找不到sum的数据类型,所以有了下面的一个新概念
函数原型.
目的是为了告诉编译器这一个函数长什么样子,
所以我们只需要在main函数前面加上一句定义该函数的话即可;
void sum (int begin,int end);
调用函数:
1.类型不匹配,
在c语言的编译过程中,给出的数据类型不匹配,会制动转换
2,参数传递,
3,本地变量(局部变量)
定义为函数内部的变量;
{。。。}一堆大括号表示一个块,在大括号里面定义的变量称这个块为作用域;
3,没有参数时,
void f();第一种情况是不给函数任何值,这个时候函数会自行猜测,不建议使用这种方法
void f(void);我们可以直接给函数传递一个void表没有任何参数
4,函数里的函数
在c当中不允许在函数内部定义函数
5,main函数
有两种写法
- int main(){。。。}
- int main (void){。。。}