编写函数搜索数组中的某个数

编写下列函数:

Bool search(int a[],int n,int key) ;

a是要搜寻的数组,n是数组内元素的数量,而且key是搜索键。如果key与数组a的某个元素匹配了,那么search函数必须返回TRUE,否则返回FALSE。要求使用指针算术运算而不是下标来访问数组元素。

函数及验证程序如下:

#include <stdio.h>
#define N 10
#define TRUE 1
#define FALSE 0

typedef int Bool;
Bool search(int a[], int n, int key);

main(){
    int a[N] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int *p, k, result;
    
    printf("Number to search for:");    
    scanf("%d", &k);
    
    printf("Enter a message:");
    for(p = a; p < a + N; p++) 
        printf("%-2d", *p);
    printf("\n");
    
    result = search(a, p - a, k);
    printf("Result( 1 = TRUE, 0 = FALSE): %d", result);
    return 0;    
}

 Bool search(int a[], int n, int key){
     int *p;
     for(p = a; p < a + n; p++) {
         if(key == *p)
             return TRUE;
     }
     return FALSE;
 }

运行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值