string函数族改写
用指针修改
strlen
#include <stdio.h>
int main(int argc, const char *argv[])
{
char str[100]="0";
char *pstr=str;
printf("请输入字符串内容:");
scanf("%s",pstr);
int i=0;
for(;pstr[i]!='\0';i++);
printf("字符串的长度为:%d\n",i);
return 0;
}
strcpy
#include <stdio.h>
int main(int argc, const char *argv[])
{
char str1[100]="0";
char str2[100]="0";
char *pstr1=str1;
char *pstr2=str2;
scanf("%s",pstr1);
scanf("%s",pstr2);
int i;
for(i=0;pstr1[i]!='\0';i++){
pstr2[i]=pstr1[i];
}
pstr2[i]='\0';
printf("%s\n",pstr2);
return 0;
}
strcmp
#include <stdio.h>
int main(int argc, const char *argv[])
{
char str1[100]="0";
char str2[100]="0";
char *pstr1=str1;
char *pstr2=str2;
scanf("%s",pstr1);
scanf("%s",pstr2);
int i;
for(i=0; pstr1[i]==pstr2[i] && pstr2[i]!='\0';i++);
printf("%d\n", pstr1[i]-pstr2[i]);
return 0;
}
strcat
#include <stdio.h>
int main(int argc, const char *argv[])
{
char str1[100]="0";
char str2[100]="0";
char *pstr1=str1;
char *pstr2=str2;
scanf("%s",pstr1);
scanf("%s",pstr2);
int num=0;
for(;pstr1[num]!='\0';num++);
for(int i=num,j=0;pstr2[j]!='\0';i++,j++){
pstr1[i]=pstr2[j];
}
printf("%s",pstr1);
return 0;
}