c语言编写一个函数,该函数接受一个数组和其整数n作为参数。你需要通过指针来传递数组,并在函数内打印出数组中的第n个元素. 要求: (1)函数应该有两个参数,一个是数组的指针,另一个是整数n (2)需要添加额外的检查来避免越界访问
时间: 2024-10-07 22:02:36 浏览: 44
在C语言中,你可以编写如下的函数来实现这个功能。这个函数会首先检查输入的n是否合法,然后通过指针访问并打印数组的第n个元素:
```c
#include <stdio.h>
// 函数声明
void printArrayElement(int* arr, int n);
int main() {
// 初始化一个数组和n值
int my_array[] = {1, 2, 3, 4, 5};
int n = 3; // 或者从用户输入获取n
// 调用函数并打印数组元素
if (n >= 0 && n < sizeof(my_array)/sizeof(my_array[0])) {
printArrayElement(my_array, n);
} else {
printf("Error: Index out of bounds.\n");
}
return 0;
}
// 定义函数,接收数组指针和n
void printArrayElement(int* arr, int n) {
if (arr != NULL && n >= 0) {
printf("The element at index %d is: %d\n", n, *(*(arr + n)));
} else {
printf("Invalid input: Array pointer or index is null or negative.\n");
}
}
```
在这个函数中,`printArrayElement`内部使用了两次指针运算 `*(arr + n)` 来访问数组的第n个元素。注意,这里假设数组元素是按照顺序存储的,并且数组的第一个元素索引为0。
阅读全文