设pl指向字符串sI,p2指向字符串s2。要求当s1-=s2时,返回值为0,若sl≠s2 ,返回它们二者第1个不同字符的ASCI码差值(如" BOY"与" BAD" ,第2个字母不同,,0与'A之差为79- -65=14)。如果sl>s2,则输出正值,如s1<s2,则输出负值。
没注释的源代码
#include <iostream>
using namespace std;
int strcmp(char *p1,char *p2);
int main()
{
int m;
char str1[100],str2[100],*p1,*p2;
cout<<"please input two strings:"<<endl;
cin>>str1>>str2;
p1=&str1[0];
p2=&str2[0];
m=strcmp(p1,p2);
cout<<"result:"<<m<<endl;
return 0;
}
int strcmp(char *p1,char *p2)
{
int i=0;
while(*(p1+i)==*(p2+i))
if(*(p1+i++)=='\0') return(0);
return (*(p1+i)-(*(p2+i)));
}