scanf("%d", a)
应该是 scanf("%d, &a[i])
,不然永远都只是输入到数组的第一个元素里。
scanf("%d",&a[i]);
你的数据都写进a[0]里去了
可以使用编程语言中的数组查找函数来判断一个 key 是否在数组中,例如C++中的std::find函数,或者使用一个循环遍历数组并逐个比较元素来判断。下面是使用C++的std::find函数的示例代码:
int main() { int arr[] = {1, 2, 3, 4, 5}; int key = 3; int* ptr = std::find(std::begin(arr), std::end(arr), key); if (ptr != std::end(arr)) { // key存在于数组中 std::cout << "key存在于数组中" << std::endl; } else { // key不存在于数组中 std::cout << "key不存在于数组中" << std::endl; } return 0; }
上面的代码首先创建了一个数组arr和一个key值,然后使用std::find函数在arr中查找key。如果找到了,函数会返回一个指向该元素的指针,否则会返回一个指向arr最后一个元素后面的位置的指针std::end(arr)。可以通过比较返回值和std::end(arr)的关系来判断key是否存在于数组中。
另外,参考资料中的代码似乎是关于单片机按键扫描和处理的,与判断一个key是否在数组中不是很相关。