C语言 第七章 函数

2020-05-22  本文已影响0人  小明同学机器人

[TOC]

第七章函数

函数分类

main()函数 主函数

自定义函数例子

#include<stdio.h>

int main()
{
    int sum(int a,int b);
    void logi();
    logi();
    printf("%d",sum(1,2));
    return 0;
    
}
void logi()
{
    printf("hello!\n");
}
int sum(int a,int b)
{
    return a+b;
}

函数的嵌套学习

#include<stdio.h>
int max4(int a,int b,int c,int d);
int max2(int a,int b);
int main() {
    int a,b,c,d;
    printf("请输入四个数");
    scanf("%d%d%d%d",&a,&b,&c,&d);
    printf("输入完成");
    printf("最大值为%d",max4(a,b,c,d));
    return 0;
}
int max4(int a,int b,int c,int d) {

    int m=max2(a,b);
    int n=max2(c,d);
    return max2(m,n);

}
int max2(int a,int b) {
    return a>b?a:b;
}
image-20200321155559767
#include<stdio.h>
int age1(int a);
int main() {
    printf("%d",age1(5));
    return 0;
}

int age1(int a) {
    int age=0;
    if(a==1)
    {
        age=10;
    }
    else{
        age=age1(--a)+2;
    }
    return age; 
}

指针传递数据

#include<stdio.h>
#define N 7
int da(int *a,int *index){
int max=a[0];
for(int i=0;i<=9;i++){
  if(a[i]>max)
{
  max=a[i];
  *index=i;
  } 
}return max;

}
int main(){
  int a[10];int x=0;
  int *index;
  index=&x;
  for(int i=0;i<=9;i++){
  scanf("%d",&a[i]); 
  } 
  int max=da(a,index);
  printf("最大值%d\n",max);  
  printf("位置为%d\n",(*index+1));
} 

auto 自动变量

static 静态变量

register 将变量存入寄存器cpu

extern 引入外部函数

关键字示例

#include<stdio.h>
int staticfun(int x);
int main() {
    //auto ---自动变量
    auto int a,b=3;  //不写 也是auto 自动释放内存

    //static  ---静态变量

    int c=3;
    printf("%d\n",staticfun(c));  //3
    printf("%d\n",staticfun(c));//6
    printf("%d\n",staticfun(c));//9


    return 0;
}
int staticfun(int x) {
    static  int a=0;   //静态变量  调用此函数种的a变量 ,执行结束后 a不释放
    a+=x; 
    return a;

}
上一篇 下一篇

猜你喜欢

热点阅读