c语言中编写一个函数,该函数接受一个数组和其整数n作为参数。你需要通过指针来传递数组,并在函数内打印出数组中的第n个元素. 要求: (1)函数应该有两个参数,一个是数组的指针,另一个是整数n (2)需要添加额外的检查来避免越界访问
时间: 2024-10-10 09:11:35 浏览: 43
C语言中数组作为函数的参数以及返回值的使用简单入门
在C语言中,你可以创建一个函数`print_array_element`,它接收一个指向整型数组的指针以及一个整数`n`作为输入。为了防止数组越界,我们需要确保`n`不大于数组的实际长度。以下是一个示例:
```c
#include <stdio.h>
// 函数声明
void print_array_element(int* array, int n);
// 主函数
int main() {
int arr[] = {1, 2, 3, 4, 5}; // 示例数组
int n = 3; // 要打印的元素索引
// 检查n是否在数组范围内
if (n >= 0 && n < sizeof(arr) / sizeof(arr[0])) {
print_array_element(arr, n);
} else {
printf("Array index out of bounds.\n");
}
return 0;
}
// 实现函数
void print_array_element(int* array, int n) {
if (array != NULL) { // 确保指针有效
printf("The element at position %d is: %d\n", n, *(*(array + n - 1))); // 减一是因为索引从0开始
} else {
printf("Invalid pointer provided.\n");
}
}
```
在这个例子中,我们首先检查`n`是否在合理范围内,然后在`print_array_element`函数中通过指针间接访问数组元素。注意,由于数组索引是从0开始的,所以我们计算`array + n - 1`得到对应的元素地址。
阅读全文