指针实现strcmp函数功能
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int mystrcmp(const char *str,const char *ptr)
{
int i = 0;
while(*(str + i) != '\0'&&*(ptr + i) != '\0')
{
if(*(str + i) > *(ptr + i))
return 1;
if(*(str + i) < *(ptr + i))
return -1;
++i;
return 0;
}
if(*str != '\0')
{
return 1;
}
if(*ptr != '\0')
{
return -1;
}
}
int main()
{
int i;
printf("input 2 string\n");
char *str =(char *)malloc(sizeof(char)*64);
char *ptr =(char *)malloc(sizeof(char)*64);
scanf("%s%s",str,ptr);
i = mystrcmp(str,ptr);
if(i == 1)
{
printf("%s > %s",str,ptr);
}
if(i == -1)
{
printf("%s < %s",str,ptr);
}
if(i == 0)
{
printf("%s = %s",str,ptr);
}
return 0;
}
指针实现strlen函数
#include<stdio.h>
int mystrlen(char *str)
{
int num = 0;
while(*str++ != '\0')
{
num++;
}
return num;
}
int main()
{
char *str = "helloworld";
int n =mystrlen(str);
printf("%d\n",n);
return 0;
}