C语言从入门到精通——函数

简介: C语言从入门到精通——函数

我们知道C语言是函数体语言,它的程序是由一个个函数构成的,比如我们程序的入口,main就是函数的一种,还有我们用过的printf、scanf这些也是函数,只不过这些是我们的库函数,是编译器提供给我们的,让我们去实现一种功能可以更简便的实现,那要是库函数实现不了我们应该怎么办呢?这个时候就有了我们的自定义函数,比如:


#include<stdio.h>
int main()
{
  int sum1 = 0;
  int sum2 =0;
  int num = 0;
  scanf("%d%d", &sum1, &sum2);
  num = sum1 + sum2;
  printf("%d", num);
  return 0;
}


0a2653c851af460fa595bd959398a8f1.png


我们要实现一个函数,是让sum1+sum2,并且要将这个值赋给num,那怎么将这个变成一个函数?


#include<stdio.h>
int Add(int sum1, int sum2)
{
  int num = sum1 + sum2;
  return num;
}
int main()
{
  int sum1 = 0;
  int sum2 = 0;
  scanf("%d%d", &sum1, &sum2);
  int num = Add(sum1, sum2);
  printf("%d", num);
  return 0;
}


0eacb84100b54626af849e6b562bf92a.png


我们可以看到,运行结果是一样的,那我们看上面这一段代码和第一段代码的区别,我们将是实现加法的功能从main函数里面剥离出来,然后自己写了一个函数,那函数的构成就如下面所示:


函数返回类型 函数名(函数接收参数)

{
    函数实现的功能;
}
int Add(int sum1, int sum2)
{
  int num = sum1 + sum2;
  return num;
}

结合着两个代码,我们看,因为我们要实现的是整数之间的加减,所以返回类型是int,函数名最好起让我们可以一眼知道这是个什么函数,比如我们这个要实现加法,那加法英文是addition,那我们取前三个字母add为函数名字,因为我们要实现两个整数之间的加法,传参就传两个,在大括号里面在实现加法功能即可实现我们这个加法函数,同样方法可以实现任何函数。


相关文章
|
12天前
|
C语言
C语言:内存函数(memcpy memmove memset memcmp使用)
C语言:内存函数(memcpy memmove memset memcmp使用)
|
6天前
|
缓存 安全 编译器
【C 言专栏】C 语言函数的高效编程技巧
【5月更文挑战第1天】本文探讨了C语言中函数的高效编程技巧,包括函数的定义与作用(如代码复用和提高可读性)、设计原则(单一职责和接口简洁)、参数传递方式(值传递、指针传递和引用传递)、返回值管理、调用约定、嵌套与递归调用,以及函数优化技巧和常见错误避免。掌握这些技巧能提升C语言代码的质量和效率。
【C 言专栏】C 语言函数的高效编程技巧
|
8天前
|
C语言
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
|
8天前
|
C语言
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
|
8天前
|
C语言
(浙大版《C语言程序设计(第3版)》 习题6-5 使用函数验证哥德巴赫猜想 (20分)
(浙大版《C语言程序设计(第3版)》 习题6-5 使用函数验证哥德巴赫猜想 (20分)
|
10天前
|
安全 C语言
【C语言】strcpy与strncpy函数的使用和模拟实现
【C语言】strcpy与strncpy函数的使用和模拟实现
5 0
|
10天前
|
C语言
【C语言】字符分类函数与字符转换函数
【C语言】字符分类函数与字符转换函数
9 1
|
10天前
|
程序员 编译器 C语言
C语言之函数与参数
C语言之函数与参数
7 0
|
12天前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
12天前
|
机器学习/深度学习 C语言
函数递归深入解析(C语言)
函数递归深入解析(C语言)