C语言,函数部分

求和函数

#include<stdio.h>
void sum(int begin, int end)
{
    int i;
    int sum = 0;
    for ( i=begin; i<=end; i++){
        sum += i;
    }
    printf("%d到%d的和是%d\n", begin, end, sum);
}

int main()
{
    sum(1,10);
    sum(20,30);
    sum(35,45);
    return 0;
}

函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值。

void(返回类型) sum(函数名)(int begin, int end) (参数表:一个类型,一个参数) //函数头
{

}  //函数体

void 不返回东西。

调用函数
·函数名(参数值);*一定要有括号,有没有括号表明C语言判断这段是否为函数。

·函数调用返回值 return

int max(int a, int b)
{
    int ret;
    if ( a>b ) {
         ret = a;
       } else {
           ret = b;
       }

      return ret;
}

return 停止函数的执行,并送回一个值。
return;
return 一个值;
可以有多个return, 但是编程一个性质:单一出口;

函数可以不返回东西。

void 函数名(参数表)
不能使用带值的return
可以没有return
调用的时候不能做返回值的赋值。就是不能 a = 函数名(X,X)

函数的先后关系
函数应该先写在主程序上面, 因为C的编译器自上而下顺序分析你的代码。
//如果一定要把函数放下面。要对函数进行声明

#include<stdio.h>
void sum(int begin, int end);// 带分号,这行叫原型声明
int main()
{
    sum(1,10);
    sum(20,30);
    sum(35,45);
    return 0;
}


void sum(int begin, int end) //这叫函数定义
{
    int i;
    int sum = 0;
    for ( i=begin; i<=end; i++){
        sum += i;
    }
    printf("%d到%d的和是%d\n", begin, end, sum);
}

函数声明要和函数定义一致。即 一个int 另一个也应是int
*函数定义不会检查函数名。想写就写。它只管函数类型是否正确。最好还是写一下,方便检查错误。


调用函数
当调用类型和申明类型不一致,可能会错,但编译器会帮你改好,但这个可能不是你想要的类型。

c语言在调用函数时,永远只能传值给函数。
函数里的参数和主体程序参数是不相关的,即函数里改变a b 参数,但是主体程序也有个a b 但是这两个不是一个东西。改变函数里的a b。 主体程序仍然不会变。

每个函数有自己的变量空间,参数也位于这个独立的空间中,和其他函数没有关系。

即形参(函数的变量) 和实参(程序主体的变量)。

本地变量。【定义在函数内部的变量】
参数也是本地变量。
生存期 作用域 以上俩的答案 都在{}内 “{}”就叫块
*本地变量是定义在块内的。
在块外面定义的变量在里面同样有用,但如果同名,以块里面的为主。但是从块出来了,还是以外面同名的为主。
同一个块里,不能有同名
本地变量也不会被默认初始化。
参数会初始化。

当函数里面没有参数时;需要f(void)。 如果没有void, 最好声明,因为编译器会猜测你需要的是什么东西,但是这个猜测可能不是你想要的结果。 建议:一定要把参数写全。

调用函数的里面的逗号不是逗号运算符,只是一个标点符号。

int main() 也是一个函数;也可以在括号里面写一个void;
所以在main()里面要return 0; 对一些东西有意义,so 最好写一个。 传统上,返回0表示正常。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值