c语言之函数的调用

本文通过示例介绍了C语言中如何使用函数进行代码复用和简化。首先,展示了求两数之和的基本函数Add的定义与调用,然后引入了Add1函数,通过递归调用Add实现求三数之和的功能,强调了函数重复调用的概念。在main函数中,分别调用了这两个函数并验证了它们的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言中函数的调用目的就是为了简化代码,能够让代码重复使用,且使代码看起来便于理解

格式:    返回值类型    函数名(形式参数列表){

              函数体;//某个功能

}

注意:函数名为大驼峰形式,例如MaxTopNum  ,Max等

下面来看一段代码:

#include <stdio.h>
int main()
{
    int num1 = 0;
   int num2 = 0;
    int sum = 0;
    printf("输入两个操作数:>");
    scanf("%d %d", &a, &b);
    sum = num1 + num2;
    printf("sum = %d\n", sum);
    return 0;
}

 此段代码是用来求两数之和的,我们可以看到此时并没有用到函数的调用,那么该怎么进行修改呢?此时我们给出另一段代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int Add(int a,int b)//Add方法为子函数
{
	int sum = a + b;
	return sum;
}
int Add1(int a, int b, int c)/*此处其实也可以直接写return a+b+c
							 只是在这里我们更强调方法的一个重复调用*/
{
	int sum1 = Add(a,b);//
	int sum2 = Add(sum1, c);
	return sum2;//此处要注意尽量不要写打印语句,写return语句

}
int main()//main方法为主函数
{
	int x = 10;
	int y = 20;
	int z = 30;
	int sum1 = Add(x, y);/*方法的调用:1.注意使用函数名进行调用
									   2.对应的参数类型以及个数都要匹配
									   3.如果当前函数是有返回值的,则一定要接收它的返回值*/
	int sum2 = Add1(x, y, z);
	printf("x与y的和为%d\n", sum1);
	printf("x,y,z的和为%d\n", sum2);
	return 0;
}

 此段代码我们用到了函数的调用,为了使大家更加深刻理解函数的调用,我们还给出了求三个数之和的方法,下面我们挨个分析:

int Add(int a,int b)//Add方法为子函数
{
	int sum = a + b;
	return sum;
}

此时我们定义了一个名为Add的函数(Add为子函数,而main函数为主函数),其参数为两个整形变量a,b,返回值类型为int,我们将所需要相加的两个数放入形参中,并用sum来作为返回值,此时我们便定义了一个求两个数之和的和函数Add.

int Add1(int a, int b, int c)/*此处其实也可以直接写return a+b+c
							 只是在这里我们更强调方法的一个重复调用*/
{
	int sum1 = Add(a,b);//
	int sum2 = Add(sum1, c);
	return sum2;//此处要注意尽量不要写打印语句,写return语句

}

此时我们定义了一个名为Add1的函数(Add1为子函数,而main函数为主函数),其参数为三个整形变量a,b,c,返回值类型为int,我们将所需要相加的三个数放入形参中,注意此时我们可以有两种写法1.我们可以直接返回a+b+c. 2.我们可以先调用Add方法将其中的两个数相加后赋给一个int变量sum1,然后再调用Add方法将之前定义的int变量sum1与剩余的数字相加,相当于重复调用我们一开始所定义的Add方法,最后把两者相加的值赋给sum2,最终返回的新的整形变量sum2便是我们所求的三数之和,此时我们便定义了一个求三个数之和的和函数Add1.,其核心思想便是函数的重复调用

下面我们来看主函数代码:

int x = 10;
	int y = 20;
	int z = 30;
	int sum1 = Add(x, y);/*方法的调用:1.注意使用函数名进行调用
									   2.对应的参数类型以及个数都要匹配
									   3.如果当前函数是有返回值的,则一定要接收它的返回值*/
	int sum2 = Add1(x, y, z);
	printf("x与y的和为%d\n", sum1);
	printf("x,y,z的和为%d\n", sum2);
	return 0;

此时我们便可以开始测试我们所写的函数是否正确,此时我们给出三个整数分别为10,20,30,此时我们计算出x与y的和为30,x+y+z的和为60,说明函数编写无误,

下面来看运行结果:

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值