c++ 字典顺序 strcmp

来源:百度知道 编辑:UC知道 时间:2024/05/11 21:15:31
为什么
strcmp(a,"123")的结果为1??
判断原则是什么 根据字典顺序 a和"123"怎么比??

以两个字符串中的第一个不相等的字符的ASCII码为之差准.

strcmp(s1,s2);
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0

strcmp()是字符串比较函数。
规则如下:
对两个字符串自左至右逐个字符比较(按ASCII码值大小比较),直到出现不同的字符或遇到“\0“为止。如全部字符相同,则认为相等;若出现不同的字符,则以第一个不相同的字符的比较结果为准。
这里第一个字符不同,且aASCII码值大,所以返回1

strcmp 原型:extern int strcmp(char *s1,char * s2);
用法:#include <string.h>
功能:比较字符串s1和s2。
说明:
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0
举例:
// strcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;<