#include
#include
//strlen()函数 int sub_strlen(const char *p) { int control = 0; do { if (p[control] != '\0') { control++; } } while (p[control] == '\0');
return control;
}
//strcmp()函数 int sub_strcmp(const char p1, const char p2) { int sum = 0; int control; do { sum += (p1[control] - p2[control]); control++; } while (p1[control] != '\0' && p2[control] != '\0');
return sum;
}
//strcpy函数(如何返回一个地址???) void sub_strcpy(char restrict p1,const char restrict p2) { int control = 0; do { p1[control] = p2[control]; } while (p2[control++] != '\0');
}
//strcat()函数(无返回地址) void sub_strcat(char p1,const char p2) { int count = 0; while (p1[count] != '\0') { count++; }
int control=0;
do
{
p1[count] = p2[control];
count++;
} while (p2[control++] != '\0');
}
//strchr()函数(无返回地址) void sub_strchr(const char *p1, int c) { int control = 0; while (p1[control] != '\0') { control++; }
int result = 1;
int count = 0;
while ((int)p1[count] != c) {
if (count == control) {
result = 0;
break;
} else {
count++;
}
}
switch (result) {
case 1:
for (;count <=control;count++) {
printf("%c",p1[count]);
}
break;
default:
printf("NULL");
break;
}
} //strrchr()函数如上相似
int main(void) { char shuzu[1000] ="Hello hihihfkabj"; char shuzu2[] = "nimade"; sub_strchr(shuzu,'e'); printf("%s\n",strchr(shuzu,'e')); return 0; }