011. 使用函数返回计算结果
在C语言中,函数可以通过return
语句返回一个值。这个值可以是任何类型(如整数、浮点数、字符等),并且可以在调用函数时接收并使用这个返回值。以下是一些示例,展示如何编写函数来返回计算结果,并在主函数中使用这些结果。
示例1:计算两个数的和并返回结果
#include <stdio.h>
// 函数定义:计算两个整数的和并返回结果
int add(int a, int b) {
int sum = a + b; // 计算和
return sum; // 返回和
}
int main() {
int num1, num2, result;
// 提示用户输入两个数字
printf("Enter two numbers: ");
scanf("%d %d", &num1, &num2);
// 调用函数并接收返回值
result = add(num1, num2);
// 输出结果
printf("The sum of %d and %d is %d\n", num1, num2, result);
return 0;
}
输出示例
假设用户输入5
和3
,程序的输出将是:
Enter two numbers: 5 3
The sum of 5 and 3 is 8
示例2:计算两个数的平均值并返回结果
#include <stdio.h>
// 函数定义:计算两个浮点数的平均值并返回结果
double average(double a, double b) {
return (a + b) / 2.0; // 计算平均值并返回
}
int main() {
double num1, num2, result;
// 提示用户输入两个数字
printf("Enter two numbers: ");
scanf("%lf %lf", &num1, &num2);
// 调用函数并接收返回值
result = average(num1, num2);
// 输出结果
printf("The average of %.2f and %.2f is %.2f\n", num1, num2, result);
return 0;
}
输出示例
假设用户输入10.5
和20.5
,程序的输出将是:
Enter two numbers: 10.5 20.5
The average of 10.50 and 20.50 is 15.50
示例3:判断一个数是否为素数并返回结果
#include <stdio.h>
// 函数定义:判断一个数是否为素数并返回结果
int isPrime(int num) {
if (num <= 1) {
return 0; // 0和1不是素数
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0; // 如果能被整除,则不是素数
}
}
return 1; // 是素数
}
int main() {
int num;
// 提示用户输入一个数字
printf("Enter a number: ");
scanf("%d", &num);
// 调用函数并接收返回值
if (isPrime(num)) {
printf("%d is a prime number.\n", num);
} else {
printf("%d is not a prime number.\n", num);
}
return 0;
}
输出示例
假设用户输入7
,程序的输出将是:
Enter a number: 7
7 is a prime number.
假设用户输入10
,程序的输出将是:
Enter a number: 10
10 is not a prime number.
示例4:返回多个值
C语言的函数只能返回一个值,但可以通过指针参数返回多个值。以下是一个示例,计算两个数的和与差,并通过指针返回这两个结果。
#include <stdio.h>
// 函数定义:计算两个整数的和与差,并通过指针返回结果
void calculate(int a, int b, int *sum, int *diff) {
*sum = a + b; // 计算和
*diff = a - b; // 计算差
}
int main() {
int num1, num2, sum, diff;
// 提示用户输入两个数字
printf("Enter two numbers: ");
scanf("%d %d", &num1, &num2);
// 调用函数并接收返回值
calculate(num1, num2, &sum, &diff);
// 输出结果
printf("Sum: %d\n", sum);
printf("Difference: %d\n", diff);
return 0;
}
输出示例
假设用户输入10
和5
,程序的输出将是:
Enter two numbers: 10 5
Sum: 15
Difference: 5
视频讲解
BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)