c语言 编写一个函数,该函数接受一个数组和其整数n作为参数。通过指针来传递数组,并在函数内打印出数组中的第n个元素. 要求: (1)函数应该有两个参数,一个是数组的指针,另一个是整数n (2)需要添加额外的检查来避免越界访问
时间: 2024-10-08 14:14:08 浏览: 8
在C语言中,你可以编写一个函数`print_nth_element`来实现这个功能。这里是一个示例:
```c
#include <stdio.h>
// 函数声明
void print_nth_element(int* array, int n);
// 主函数
int main() {
int my_array[] = {10, 20, 30, 40, 50};
int n = 3; // 想要打印的元素位置
// 验证输入n是否在数组范围内
if (n >= 0 && n < sizeof(my_array) / sizeof(my_array[0])) {
print_nth_element(my_array, n);
} else {
printf("Error: Index out of bounds.\n");
}
return 0;
}
// 实现函数,打印指定位置的元素
void print_nth_element(int* array, int n) {
if (array != NULL) { // 检查指针是否为空
printf("The element at position %d is: %d\n", n, *(array + n - 1)); // C数组索引从0开始
} else {
printf("Error: Invalid array pointer.\n");
}
}
```
在这个例子中,我们首先检查了`n`是否在合法范围内,然后在`print_nth_element`函数内部使用指针加法获取第`n`个元素并打印。注意,为了适应C数组的零索引,我们在`*(array + n - 1)`中做了相应的调整。