-
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
char *Space();
void Scanf(char *p,int n);
void Rev(char *p,int n);
void Free(char **p);
int *SPACE(int n);
void panduan(int *q,int *key,int n,int k);
void SCANF(int *q,int n);
void FREE(int **p);
#endif
主函数
#include "head.h"
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int n=0;
printf("请输入p要申请的大小\n");
scanf("%d",&n);
getchar();
char *p=Space(n);
Scanf(p,n);
Rev(p,n);
Free(&p);
// printf("%s",p);
p=NULL;
int a=0;
printf("请输入q的个数\n");
scanf("%d",&a);
int *q=SPACE(a);
int *key=SPACE(1);
SCANF(q,a);
printf("输入key的值\n");
SCANF(key,1);
panduan(q,key,a,1);
FREE(&q);
FREE(&key);
return 0;
}
test.c
#include <stdio.h>
#include <stdlib.h>
char *Space(int n)
{
char *p=(char *)malloc(sizeof(char)*n);
if(p==NULL)
{
printf("申请失败");
}
printf("%d\n",n);
return p;
}
void Scanf(char *p,int n)
{
for(int i=0;i<n;i++)
{
scanf("%c",p+i);
// getchar( );
}
}
void Rev(char *p,int n)
{
int i=0;int j=n-1;char t=0;
for(i=0;i<n;i++)
{
if(i<j)
{
t=*(p+i);
*(p+i)=*(p+j);
*(p+j)=t;
j--;
}
}
// printf("%s",p);
for(i=0;i<n;i++)
{
printf("%c",*(p+i));
}
printf("\n");
}
void Free(char **p)
{
if(*p==NULL)
{
return;
}
free(*p);
}
int *SPACE(int n)
{
int *q=(int *)malloc(sizeof(int)*n);
if(q==NULL)
{
printf("申请失败");
}
return q;
}
void SCANF(int *q,int n)
{
for(int i=0;i<n;i++)
{
scanf("%d",(q+i));
getchar();
}
}
void panduan(int *q,int *key,int n,int k)
{
for(int i=0;i<n;i++)
{
if(*(q+i)==*key)
{
printf("存在");
return;
}
}
printf("不存在");
}
void FREE(int **p)
{
if(*p==NULL)
{
return;
}
free(*p);
}