//模拟实现strcpy
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define size 30
int main1()
{
char str1[size] = "";
char str2[size] = "";
scanf("%s %s", str1, str2);
char* p1 = str1;
char* p2 = str2;
while (*p2)
{
*p1 = *p2;
p1++;
p2++;
}
printf("%s", str1);
system("pause");
return 0;
}
//模拟实现strcat
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define size 30
int main2()
{
char str1[size] = "";
char str2[size] = "";
scanf("%s %s", str1,str2);
//strcat(str1, str2);
char* p1 = str1;
char* p2 = str2;
while (*p1)
{
p1++;
}
while (*p2)
{
*p1 = *p2;
p1++;
p2++;
}
printf("%s", str1);
printf("\n");
system("pause");
return 0;
}
//模拟实现strcmp
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define size 30
int main()
{
int n = 0;
char str1[size] = "";
char str2[size] = "";
scanf("%s %s", str1, str2);
char* p1 = str1;
char* p2 = str2;
while ((*p1 == *p2) && *p1 && *p2)
{
p1++;
p2++;
}
if (*p1 < *p2)
n = -1;
else
n = *p1 > *p2 ? 1 : 0;
printf("%d\n", n);
system("pause");
return 0;
}
//模拟实现strstr
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define size 30
int main()
{
char str1[size] = "";
char str2[size] = "";
char* p1 = str1;
char* p2 = str2;
scanf("%s %s", str1, str2);
char* p = p1;
while (*p2)
{
if (*p1 == *p2)
{
p1++;
p2++;
}
else
{
p1++;
p = p1;
}
}
while (*p)
{
printf("%c", *p++);
}
system("pause");
return 0;
}
//模拟实现strchr
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define size 30
int main()
{
char str[size] = "";
char n = getchar();
scanf("%s", str);
for (int i = 0; i <= strlen(str); ++i)
{
if (str[i] == n)
printf("%d\n", i);
}
system("pause");
return 0;
}