strcmp的原型是int strcmp(const char *s1,
const char *s2),s1、s2都被const修饰,可见函数体中对两个字符串进行只读操作。比较从左至右按字符一一对应进行,遇到不等时得出结果,停止操作;无论哪个字符串先到达'\0','\0'也参与比较。
当s1的某个字符的ASCII值>s2对应字符的ASCII值时,函数返回+1,反之返回-1,当s1、s2完全一样(等长,对应字符相同)时返回0。
举例代码如下:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "string.h"
int main(void){
char *s1="12345fjksld;ajfkl;",*s2="12a",*s3="12a";
printf("s1<-->s2: %d\n",strcmp(s1,s2));//输出-1,说明大小不由长度确定
printf("s2<-->s3: %d\n",strcmp(s2,s3));//长度和字符对应相等是才输出0
printf("s2<-->s1: %d\n",strcmp(s2,s1));//是参数1与参数2对比而不是相反
printf("\n");
return 0;
}