【c语言习题】return中途结束 函数调用

文章介绍了C语言中函数的基础知识,特别是return语句的用法,用于在满足特定条件时提前结束函数执行。文章提供了一个示例,展示如何编写一个函数计算两个数之间所有整数的和,当输入参数错误时,利用return0;来终止函数调用。

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

创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!! 

主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ  

函数的基本知识:函数的基本概念、结构、含义

目录

return用法:中途结束 函数调用

题目:

代码:

运行结果:


return用法:中途结束 函数调用

如果在函数中不想继续执行剩下的代码,比如不满足了什么条件,想要退出本次函数调用,可以使用return 0;提前结束调用。 

 

题目:

编写一个函数,返回一个数到另外一个数之间所有整数相加的和

代码:

#include <stdio.h>
int fun(int a,int b);
int main()
{

	/* 编写一个函数,返回一个数到另外一个数之间所有整数相加的和 */

	 printf("%d\n",fun(3,6));

	return 0;
}

int fun(int a,int b)
{
	int sum=0;
	if (a>b)
	{
		return 0;   //中途结束函数 不进行下面的循环
	}
	for(a++;a<b;a++)
	{
		sum+=a;
	}
	return sum;
}

运行结果:

 

### C语言函数调用习题 为了帮助您更好地理解和掌握C语言中的函数调用,这里提供几个典型的练习题目,并附上简要解析。 #### 练习题 1:基本函数调用 编写一个简单的程序,在其中定义并调用两个函数 `add()` 和 `subtract()` 来分别完成加法和减法操作。主函数应从用户那里获取输入值并将结果打印出来。 ```c #include <stdio.h> int add(int a, int b) { return a + b; } int subtract(int a, int b) { return a - b; } int main() { int num1, num2; printf("请输入两个整数: "); scanf("%d %d", &num1, &num2); // 调用函数并输出结果 printf("两数之和:%d\n", add(num1, num2)); printf("两数之差:%d\n", subtract(num1, num2)); return 0; } ``` **要点提示**: 理解如何声明、定义及调用带返回值得简单函数。 --- #### 练习题 2:递归求阶乘 创建一个新的项目文件夹,然后实现一个名为`factorial()` 的递归函数用于计算给定非负整数 n 的阶乘(即 n!)。最后通过测试数据验证其正确性。 ```c #include <stdio.h> unsigned long long factorial(unsigned int n) { if (n == 0 || n == 1) return 1; /* base case */ else return n * factorial(n - 1);/* recursive call */ } int main(){ unsigned int number = 5; // 可更改此数值做更多尝试 printf("%u 的阶乘等于 %llu.\n", number , factorial(number )); return 0; } ``` **知识点总结**: - 学会利用条件判断处理基准情况(base cases),以及怎样构造出适当的终止条件以防止无限循环。 - 掌握栈帧的概念——每当发生一次新的函数呼叫就会建立相应的内存空间来存放局部变量等信息。 --- #### 练习题 3:指针作为形参传递 设计一段代码片段演示将数组元素传入到另一个函数内进行排序的过程。注意使用指针形式传递地址而不是直接复制整个数组内容。 ```c #include <stdio.h> void sortArrayAscend(int arr[], size_t length){ for(size_t i=0 ;i<length-1;i++){ for(size_t j=i+1;j<length;j++){ if(arr[i]>arr[j]){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } } int main(void){ const size_t ARRAY_SIZE = 4 ; int myArr[A
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天喜Studio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值