C语言函数简单使用

函数的格式

存储类型    数据类型		函数名(参数列表)
{
	函数体;
	return 表达式;
}

1)没有参数
参数列表可以省略,也可以用void类型。
2)没有返回值
数据类型为void,函数内部没有return
3)有返回值
要根据返回值的类型定义函数的数据类型
注意:定义函数的时候可以定义在调用函数前面,也可以定义在后面,但是定义在后面要提前声明该函数。
例如:

#include<stdio.h>
void fun()
{
	printf("hello,world!");
}
int main()
{
	fun();//无参数无返回值
	return 0;
}

想要用于主函数下面,则需要复制函数的第一行,加符号;放到前面

#include<stdio.h>
void fun()//复制函数的第一行,加符号;
int main()
{
	fun();//无参数无返回值
	return 0;
}
void fun()
{
	printf("hello,world!");
}

函数声明

数据类型 函数名 (参数列表);

函数三要素

功能、参数、返回值

函数调用

(1) 没有返回值:函数名(实参);
(2) 有返回值:如果需要接收函数返回值,定义一个同种类型的变量来接收
如果不需要接收返回值就直接调用

简单编写一个函数,函数的2个参数,第一个是一个字符,第二个是一个char *,返回字符串中该字符的个数。

#include<stdio.h>
int fun(char x,char* y)
{
	int sum = 0;
	while(*y)
	{
		if(*y == x)
		{
		sum++;
		y++;
		}
	}
	return sum;
}
int main()
{
	char c ='l';
	char* p = "hello";
	int ret = fun(c,p);//需要接收函数返回值,定义一个同种类型的变量来接收
	printf("%d\n",ret);
	return 0;
}

字符串中字符个数

编程实现strlen函数的功能,strlen计算字符串实际长度,不包含’\0’
同上题一样的思路

#include<stdio.h>
int my_strlen(char* y)
{
	int sum = 0;
	while(*p)
	{
	sum++;
	p++;
	}
	return sum;
}
int main()
{
	char* p = "hello,world";
	int ret = my_strlen(p);
	printf("%d\n",ret);
	return 0;	
}

算字符串长度

函数传参

1)值传递
单向传递,将实参传递给形参使用,改变形参,实参不会受影响
2)地址传递
双向传递,修改形参,实参会跟着改变
3)数组传递
和地址传递一样,参数中存在数组的定义,也认为是指针

封装函数实现两个数的交换

#include<stdio.h>
int fun(int *a,int *b)
{
    int c;
    c = *a;
    *a = *b;
    *b = c;
}
int main(int argc, char const *argv[])
{
    int num1=2;
    int num2=5;
    fun(&num1,&num2);//双向传递,修改形参,实参会跟着改变
    printf("%d %d\n",num1,num2);
    return 0;
}

封装

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值