用指针改写 strcpy , strlen, strcmp, strcat
#include <stdio.h>
int main(int argc, const char *argv[])
{
/*
// strcpy 指针改写
int i=0;
char *pi=&i;
char str1[32],str2[32];
printf("请输入str1:");
scanf("请输入str1:");
char *pstr1=str1,*pstr2=str2;
gets(pstr1);
for(*pi=0; *(pstr1+*pi) != '\0'; *pi+=1)
{
pstr2[*pi] = pstr1[*pi];
}
pstr2[*pi] = '\0';
printf("str2:");
for(*pi=0; *(pstr2+*pi) != '\0'; *pi+=1)
{
printf("%c",pstr1[*pi]);
}
putchar(10);
*/
/*
// strlen 指针改写
int i;
char *pi=&i;
char str3[32];
char *pstr3=str3;
printf("请输入str3:");
gets(pstr3);
for(*pi=0; pstr3[*pi] != '\0'; *pi+=1);
printf("字符串长度为:%d\n",*pi);
*/
// strcmp 指针改写
int i=0,sign=0;
// int *psign=&sign;
char str4[32],str5[32];
char *pstr4=str4, *pstr5=str5;
printf("请输入str4:");
gets(pstr4);
printf("请输入str5:");
gets(pstr5);
for(i=0; (pstr4[i] != '\0' || pstr5[i] != '\0') && sign == 0; i++)
{
sign = pstr4[i] - pstr5[i];
}
printf("%d\n",sign);
/*
// strcat 指针改写
int i,j;
int *pi=&i, *pj=&j;
char str6[32],str7[32];
char *pstr6=str6,*pstr7=str7;
printf("请输入str6:");
gets(str6);
printf("请输入str7:");
gets(str7);
for(*pi=0; pstr6[*pi] != '\0'; *pi+=1);
for(*pi,*pj=0; pstr7[*pj] != '\0'; *pj+=1,*pi+=1)
{
pstr6[*pi] = pstr7[*pj];
}
pstr6[*pi] = '\0';
for(*pi=0; pstr6[*pi] != '\0'; *pi+=1)
{
printf("%c",pstr6[*pi]);
}
putchar(10);
*/