Catherine_zhilin

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1 #include <stdio.h>
 2 
 3 int max_2(int a,int b){
 4     if(a>b) return a;
 5     else return b;
 6 }
 7 
 8 /*在max_3中调用max_2比较大小*/
 9 int max_3(int a,int b,int c){
10     int temp=max_2(a,b);
11     temp=max_2(temp,c);
12     return temp;
13 }
14 
15 int main(){
16     int a,b,c;
17     scanf("%d%d%d",&a,&b,&c);
18     printf("%d\n",max_3(a,b,c));
19     return 0;
20 }
嵌套调用
 1 #include <stdio.h>
 2 
 3 int max_2(int a,int b){
 4     if(a>b) return a;
 5     else return b;
 6 }
 7 
 8 /*在max_3中调用max_2比较大小*/
 9 int max_3(int a,int b,int c){
10     int temp=max_2(a,b);
11     temp=max_2(temp,c);
12     return temp;
13 }
14 
15 int main(){
16     int a,b,c;
17     scanf("%d%d%d",&a,&b,&c);
18     printf("%d\n",max_3(a,b,c));
19     return 0;
20 }
嵌套调用

 

 1 #include <stdio.h>
 2 
 3 void print1(){
 4     printf("HAHA,\n");
 5     printf("goodidea,\n");
 6 }
 7 
 8 void print2(){
 9     printf("oho,\n");
10     printf("badidea!");
11 }
12 
13 int main(){
14     print1();
15     print2();
16     return 0;
17 }
基本语法格式

返回类型时void 自定义函数只是单纯实现一些语句不返回变量

 1 #include <stdio.h>
 2 
 3 
 4 /*judge函数为有参函数 返回类型int型return后面的数据类型要和一开始给出的返回类型相同*/
 5 int judge(int x){
 6     if(x>0)return 1;
 7     else if(x==0) return 0;
 8     else return -1;
 9 }
10 int main(){
11     int a,ans;
12     scanf("%d",&a);
13     ans=judge(a);
14     printf("%d\n",ans);
15     return 0;
16 }
有参函数
 1 #include <stdio.h>
 2 
 3 
 4 int x;
 5 void change(){
 6     x=x+1;
 7 } 
 8 int main(){
 9     x=10;
10     change();
11     printf("%d\n",x);
12     return 0;
13 }
全局变量
 1 #include <stdio.h>
 2 
 3 void change (int x){
 4     x=x+1;
 5 }
 6 
 7 /*下面change() 函数的参数X和main函数的a其实作用于两个不同函数的不同变量。这种传递参数的方法称为值传递*/
 8 /*函数定义的小括号参数成为形式参数,实际调用的成为实参*/ 
 9 int main(){
10     int a=10;
11     change(a);
12     printf("%d\n",a);
13     return 0;
14     
15 }
局部变量实参/形参
 1 #include <stdio.h>
 2 
 3 int MAX(int a,int b, int c){
 4     int M;
 5     if(a>=b&&a>=c)M=a;
 6     else if(b>=a&&b>=c)M=b;
 7     else M=c;
 8     return M; 
 9 } 
10 
11 int main(){
12     int a,b,c;
13     scanf("%d%d%d",&a,&b,&c);
14     printf("%d\n",MAX(a,b,c));
15     return 0;
16 }
多个参数逗号隔开

 

在main函数中 return0的意义在于告知系统程序正常终止。

 1 #include <stdio.h>
 2 
 3 void change(int a[],int b[][5]){
 4     a[0]=1;
 5     a[1]=3;
 6     a[2]=5;
 7     b[0][0]=1;
 8 }
 9 
10 int main(){
11     int a[3]={0};
12     int b[5][5]={0};
13     change (a,b);
14     int i;
15     for(i=0;i<3;i++){
16         printf("%d\n",a[i]);
17     }
18     return 0;
19 }
将数组作为参数传入返回数组

 

 1 #include <stdio.h>
 2 
 3 int max_2(int a,int b){
 4     if(a>b) return a;
 5     else return b;
 6 }
 7 
 8 /*在max_3中调用max_2比较大小*/
 9 int max_3(int a,int b,int c){
10     int temp=max_2(a,b);
11     temp=max_2(temp,c);
12     return temp;
13 }
14 
15 int main(){
16     int a,b,c;
17     scanf("%d%d%d",&a,&b,&c);
18     printf("%d\n",max_3(a,b,c));
19     return 0;
20 }
函数的嵌套调用
 1 #include <stdio.h>
 2 
 3 /*函数的递归调用*/
 4 int F(int n){
 5     if(n==0) return 1;
 6     else return F(n-1)*n;
 7 } 
 8 
 9 int main(){
10     int n;
11     scanf("%d",&n);
12     printf("%d\n",F(n));
13     return 0;
14 }
递归调用求阶乘

 

posted on 2019-07-05 08:42  kkkshiki  阅读(250)  评论(0编辑  收藏  举报