函数

时间:2022-12-02 17:58:42

1.使用库函数,必须包含#include 对应的头文件

#include<stdio.h>
#include<string.h>
int main()
{
char arr1[] = "hello,world";
char arr2[20] = "##########";
strcpy(arr2, arr1);
printf("%s\n", arr2);
//strcpy-string-copy-字符串拷贝 也会把"\0"拷贝进去
//strlen-string length -字符串长度
return 0;
}

2.memset

memory-内存-set -设置

#include<stdio.h>
int main()
{
char arr[] = "hello world";
memset(arr, '#', 5);
printf("%s\n", arr);
return 0;
}

3.自定义函数

ret_type fun_name(para1, * )
{
statement;//语句项
}
ret_type 返回类型
fun_name 函数名
para1 函数参数

4.自定义函数:找出两个整数的较大值

#include<stdio.h>
int get_max(int x,int y)
{
if (x > y)
return x;
else
return y;
}
int main()
{
int a=10;
int b=20;
int max=get_max(a,b);
printf("max=%d\n",max);
return 0
}

5.写一个函数可以交换两个整形变量的内容。

#include<stdio.h>
void Swap(int x,int y)
{
int tmp = 0;
tmp = x;
x = y;
y = tmp;
}
int main()
{
int a = 10;
int b = 20;
printf("a=%d b=%d\n", a, b);
Swap(a, b);
printf("a=%d b=%d\n", a, b);
return 0;
}

无法完成a和b交换,能实现成函数,但是不能完成任务

#include<stdio.h>
void Swap(int* pa, int* pb)
{
int tmp = 0;
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
int main()
{
int a = 10;
int b = 20;
printf("a=%d b=%d\n", a, b);
调用Swap函数
Swap(&a,&b);
printf("a=%d b=%d\n", a, b);
return 0;
}

当实参传给形参的时候 ,形参其实是实参的一份临时拷贝 ,对形参的修改是不会改变实参的。