在C语言中,函数可以返回一个整数值、浮点数值或字符值,如果要返回两个数,可以使用指针或数组作为函数的参数和返回值类型。
(图片来源网络,侵删)下面是一个使用指针作为参数和返回值类型的示例:
#include <stdio.h> void swap(int* num1, int* num2) { int temp = *num1; *num1 = *num2; *num2 = temp; } int main() { int a = 5; int b = 10; printf("Before swap: a = %d, b = %d ", a, b); swap(&a, &b); printf("After swap: a = %d, b = %d ", a, b); return 0; }
在上面的示例中,swap
函数接受两个整数指针作为参数,并通过交换指针所指向的值来交换两个数,注意,我们传递变量的地址(使用&
运算符),而不是直接传递变量本身,这是因为在函数内部,参数是按值传递的,所以如果我们直接传递变量,函数将无法修改原始变量的值,通过传递指针,我们可以间接地访问和修改原始变量的值。
下面是使用数组作为参数和返回值类型的示例:
#include <stdio.h> void find_sum(int arr[], int size, int* sum) { *sum = 0; for (int i = 0; i < size; i++) { *sum += arr[i]; } } int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); int sum = 0; find_sum(arr, size, &sum); printf("Sum of array elements: %d ", sum); return 0; }
在上面的示例中,find_sum
函数接受一个整数数组、数组的大小和一个整数指针作为参数,它通过遍历数组并将元素累加到指针所指向的值中来计算数组元素的总和,注意,我们同样传递了变量的地址(使用&
运算符),以便在函数内部修改指针所指向的值。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。