定义两个字符指针,分配指向堆区空间,实现字符串比较、释放
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char*creat()
{
char *p=(char*)malloc(sizeof(char)*50);
if(p==NULL)
{
return NULL;
}
return p;
}
int my_strcmp(char* p1,char* p2)
{
int i=0;
while(*(p1+i)==*(p2+i))
{
if(*(p1+i)=='\0')
break;
i++;
}
int ret=*(p1+i)-*(p2+i);
return ret;
}
char*free_(char*p)
{
if(NULL==p)
{
return p;
}
free(p);
p=NULL;
return p;
}
int main(int argc, const char *argv[])
{
char*p1=creat();
char*p2=creat();
scanf("%s%s",p1,p2);
int ret=my_strcmp(p1,p2);
if(ret>0)
puts(p1);
if(ret<0)
puts(p2);
if(ret==0)
printf("==");
p1=free_(p1);
p2=free_(p2);
/* free(p1);
p1=NULL;
free(p2);
p2=NULL; */
return 0;
}