请以“编写函数 int* lookup(int t[],int *i,int val,int n),若数组 中存在val,函数返回数组中第一个等于x 的数组元素的指针,否则输出 NULL。”为目的写一个C++程序
时间: 2024-05-08 22:19:50 浏览: 99
一个c++程序
根据您的要求,我为您编写了如下的C程序:
```
#include <stdio.h>
int* lookup(int t[], int* i, int val, int n) {
for (int j = 0; j < n; j++) {
if (t[j] == val) {
*i = j;
return &t[j];
}
}
return NULL;
}
int main() {
int t[] = {1, 2, 3, 4, 5};
int n = 5;
int i;
int val = 3;
int* p = lookup(t, &i, val, n);
if (p != NULL) {
printf("Value %d found at index %d with address %p in array t\n", val, i, p);
} else {
printf("Value %d not found in array t\n", val);
}
return 0;
}
```
以上代码定义了 lookup 函数和主函数 main。lookup 函数输入数组 t、数组元素指针 i、需要查找的值 val、数组长度 n,通过遍历数组 t 来查找值 val,若存在则返回第一个等于 val 的数组元素的指针,否则返回 NULL。主函数中定义了一个长度为 5 的数组 t,调用 lookup 函数查找值为 3 的元素,若存在则输出该元素的下标及地址,否则输出未找到该值的信息。
希望以上代码能够满足您的需求,如有问题请随时联系我!
阅读全文