编写程序,用函数实现在一组给定的数据中,找出某个数字是否存在; 并在主函数中输入一个数组和某个数字调用hanshu函数,输出结果

#include<stdio.h>
int hanshu(int key, int num[], int len);
int main()
{
    int num[5], i, key;
    for (int i = 0; i < 5; i++)
    {
        scanf("%d", &num[i]);
    }
    scanf("%d", &key);
    if (hanshu(key, num, 5) > 0printf("存在");
    else
 printf("不存在");
int hanshu(int key, int num[], int len)
{
    for (int i = 0; i < len; i++)
    {
        if (num[i] == key)
        {
            return 1;
        }
    }
    return 0;
}

可以帮我解读一下这段程序

代码有错误,已经修改,已经添加了注释,如下:

#include<stdio.h>
int hanshu(int key, int num[], int len);
int main()
{
    int num[5], i, key;
    for (int i = 0; i < 5; i++)  //循环读取5个数,存入num数组
    {
        scanf("%d", &num[i]);
    }
    scanf("%d", &key); //读取需要查找的数,用key保存
    if( hanshu(key,num,5) >= 0) //调用hanshu查找key是否在num数组中
        printf("存在");
    else
        printf("不存在");
    return 0;
}
    int hanshu(int key, int num[], int len)
    {
        for (int i = 0; i < len; i++) //循环遍历数组
        {
            if (num[i] == key) //如果num[i]等于key,说明找到
            {
                return i;//返回下标
            }
        }
        return -1; //这里返回-1,表示未找到,因为数组下标从0开始,所以这里最好返回-1
    }

输入5个整数,输入查找数key,调用hanshu函数,遍历数组逐个元素和key比较,如果相等返回1,找不到返回0
main函数判断是否找到,找到输出“存在”,找不到输出“不存在”