dataType functionName(){
//body
}
( )
不能少。{ }
包围。int sum(){ int i, sum=0; for(i=1; i<=100; i++){ sum+=i; } return sum; }累加结果保存在变量
sum
中,最后通过return
语句返回。sum 是 int 型,返回值也是 int 类型,它们一一对应。return
是C语言中的一个关键字,只能用在函数中,用来返回处理结果。#include <stdio.h> int sum(){ int i, sum=0; for(i=1; i<=100; i++){ sum+=i; } return sum; } int main(){ int a = sum(); printf("The sum is %d\n", a); return 0; }运行结果:
注意:main 是函数定义,不是函数调用。当可执行文件加载到内存后,系统从 main 函数开始执行,也就是说,系统会调用我们定义的 main 函数。
void hello(){ printf ("Hello,world \n"); //没有返回值就不需要 return 语句 }
void
是C语言中的一个关键字,表示“空类型”或“无类型”,绝大部分情况下也就意味着没有 return 语句。
dataType functionName( dataType1 param1, dataType2 param2 ... ){
//body
}
dataType1 param1, dataType2 param2 ...
是参数列表。函数可以只有一个参数,也可以有多个,多个参数之间由,
分隔。参数本质上也是变量,定义时要指明类型和名称。与无参函数的定义相比,有参函数的定义仅仅是多了一个参数列表。int sum(int m, int n){ int i, sum=0; for(i=m; i<=n; i++){ sum+=i; } return sum; }参数列表中给出的参数可以在函数体中使用,使用方式和普通变量一样。
int result = sum(1, 100); //1传递给m,100传递给n
也可以传递变量:
int begin = 4;
int end = 86;
int result = sum(begin, end); //begin传递给m,end传递给n
int num = 33;
int result = sum(num, 80); //num传递给m,80传递给n
#include <stdio.h> int sum(int m, int n){ int i, sum=0; for(i=m; i<=n; i++){ sum+=i; } return sum; } int main(){ int begin = 5, end = 86; int result = sum(begin, end); printf("The sum from %d to %d is %d\n", begin, end, result); return 0; }运行结果:
m = begin; n = end;
#include <stdio.h> void func1(){ printf("http://c.biancheng.net"); void func2(){ printf("C语言小白变怪兽"); } } int main(){ func1(); return 0; }有些初学者认为,在 func1() 内部定义 func2(),那么调用 func1() 时也就调用了 func2(),这是错误的。
#include <stdio.h> void func2(){ printf("C语言小白变怪兽"); } void func1(){ printf("http://c.biancheng.net"); func2(); } int main(){ func1(); return 0; }func1()、func2()、main() 三个函数是平行的,谁也不能位于谁的内部,要想达到「调用 func1() 时也调用 func2()」的目的,必须将 func2() 定义在 func1() 外面,并在 func1() 内部调用 func2()。
有些编程语言是允许函数嵌套定义的,例如 JavaScript,在 JavaScript 中经常会使用函数的嵌套定义。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有