ravel的C语言学习笔记1

1.函数的使用

在C程序开发过程中函数的使用能够极大减少程序员工作量,将一个常用功能模块封装成一个函数可以在任何需要的时刻调用。本文主要记录我自己在学习函数的时候遇到的一些小问题,以便自己日后复习,寻找错误使用。

问题1:函数的声明

函数要在main函数外声明,如int f(x1,x2);然后再在主函数中对f()中的实参(形参)进行定义;主函数的定义完成之后再进行函数f(x1,x2)的定义。

问题2:函数调用

完成了f(x1,x2)的定义之后就需要在主函数中对函数f(x1,x2)进行调用,C语言不能进行嵌套定义,但是可以进行嵌套调用和递归调用。

问题3:递归调用

递归调用是函数调用中一个非常有效地调用方式,下面用递归的方式来求n!。(注:if判定语句后不要加分号(;)否走会一直在if里循环)。以下是一个错误示范:

#include<stdio.h>
int f(int data1); 
int main(int argc, char** argv) {
   
	int data1, data2;
	printf("请输入正整数N的值\n");
	scanf("%d\n", &data1);
	data2 = f(data1);
	printf("n!=%d",data2);
}
int f(data1) {
   
	int data3;
	if (data1 == 0 || data1 == 1)
		data3 = 1;
	else
		data3 = data1 * f(data1 - 1);
	return(data3);
}

此代码错误在于在scanf函数中输入%d是多输了\n,导致程序运行不能直接出结果,结果找半天才发现问题所在!
正确代码如下:

#include<stdio.h>
int main(int argc, char** argv) {
   
	int f(int data1); 
	int data1, data2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值