这个函数看不懂
这个是比较字符串的。。。但是那个函数:int strcmp(char *p1,char *p2)
{int i;
i=0;
while(*(p1+i)==*(p2+i))
if(*(p2+i++)=='\0')return(0);
return(*(p1+i)-*(p2+i));
}
为什么*(p2+i++)等于'\0'就可以结束了?如果*(p1+i++)不是‘\0’怎么办?
那个字符串的指针是自动自加的对把??好象是这样
#include<stdio.h>
void main()
{int strcmp(char *p1,char *p2);
int m;
char str1[20],str2[20],*p1,*p2;
printf("input two string:\n");
scanf("%s",str1);
scanf("%s",str2);
p1=&str1[0];
p2=&str2[0];
m=strcmp(p1,p2);
printf("result:%d\n",m);
}
int strcmp(char *p1,char *p2)
{int i;
i=0;
while(*(p1+i)==*(p2+i))
if(*(p2+i++)=='\0')return(0);
return(*(p1+i)-*(p2+i));
}