技能1
int main(int argc, const char *argv[])
{
int n;
scanf("%d",&n);
scanf("%*c");
char *p=Mal(n+1);
for(int i=0;i<n;i++)
{
scanf("%c",p+i);
}
*(p+n)='\0';
puts(p);
MyStrRev(p);
puts(p);
free(p);
p=NULL;
return 0;
}
void MyStrRev(char*p)//字符串逆置
{
char *q=p,t;
while(*(q+1))q++;
while(q>p)
{
t=*q;
*q=*p;
*p=t;
q--;p++;
}
}
int*Mal(int n)
{
int *p=(int *)malloc(sizeof(int)*n);
if(p==NULL)
{
printf("申请失败;\n");
}
return p;
}
技能2:
int main(int argc, const char *argv[])
{
int n,*p,*key;
printf("输入n:\n");
scanf("%d",&n);
p=Mal(n);
key=Mal(1);
printf("输入%d个数:\n",n);
for(int i=0;i<n;i++)
{
scanf("%d",(p+i));
}
printf("输入key:\n");
scanf("%d",key);
if(Ser(p,key,n)) printf("存在\n");
else printf("不存在\n");
free(p);
p=NULL;
free(key);
key=NULL;
return 0;
}
int*Mal(int n)
{
int *p=(int *)malloc(sizeof(int)*n);
if(p==NULL)
{
printf("申请失败;\n");
}
return p;
}
int Ser(int*p,int*key,int len)
{
for(int i=0;i<len;i++)
{
if(*(p+i)==*key)
return 1;
}
return 0;
}