专插本之路——C语言学习2/16函数的声明/形参和实参/递归

本文探讨了C语言中函数调用与定义的顺序,解释了函数前置声明的重要性及其作用,包括告知编译器函数的存在、参数及返回值类型。并通过示例代码展示了如何正确使用函数声明和调用来避免编译错误。

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

广东今天降温了,早上起不来床。莫怪俺蹉跎,只怪这被窝难辜负~

背了一天的科学发展观,但记得并不牢,明天再多看几眼吧(听日一定早起,耶稣都拦唔距我,我话嘅)

#include <stdio.h>

void f(void); //函数声明,调用f的语句放在了f定义语句的前面

int main(void)
{
	f();

	return 0;
}

void f(void)
{
	printf("haha!\n"); //在定义语句后面
}

同样没什么实际意义的代码

#include <stdio.h>

void f(void); //先定义

void g(void)
{
	f(); 
}

void f(void)
{
	printf("haha!\n"); 
}

int main(void)
{
	g();

	return 0;
}


注意的问题
函数调用和函数定义的顺序
如果函数调用写在了函数定义的前面,则必须加函数前置声明
函数前置声明的作用:
1.告诉编译器即将可能出现的若干个字母代表函数。
2.告诉编译器即将可能出现的若干个字母代表的函数的形参和返回值的具体情况
3.函数声明是一个语句,末尾必须加分号。


形参与实参

**#include<stdio.h>

void f(int i, float x) //i,x是形参
{
	printf("%d\n",i);
}
int main(void)
{
	f(5, 6.6); //5,6.6是实参

	return 0;
}**

注意:
1.个数相同。
2.位置一一对应,数据类型相互兼容。

判断一个数字是否是素数

#include <stdio.h>

bool IsPrime(int val)
{
	int i;

	for (i = 2;i<val;++i)
	{
		if (0 == val%i)
			break;
	}
	if (i == val)
		return true;
	else
		return false;
} 

int main(void)
{	
	int val;
	
	scanf("%d",&val);
	
	if(IsPrime(val)||val ==1)
		printf("Yes\n");
	else
		printf("No\n");
	return 0;
}

常用的系统函数
double sqrt(double x)
求x的平方根
int abs(intx)
求x的绝对值
double fabs(double x)
求x的绝对值


递归

A–>A A调用A (书上学吧)

函数视频算是看完了,书上的还是个大问题,数组调入函数的内容也没看。考试会推迟到什么时候呢。。。坐得腰都酸了,今天就先这样吧

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值