strcmp函数到底是比较整个字符串还是比较,字符串的首地址。如以下一段程序:#include<stdio.h>
#include<string.h>
void main()
{ int n;
char s1[20],s2[20];
scanf("%s",s1);
scanf("%s",s2);
n=strcmp(s1,s2);
printf("%d",n);
}输入"abcdef" ’abdef‘结果为什么是-1;
是从两个参数数组地址开始逐个比较,如果不同,就返回所比较的两个字符中第一个数组的字符-第二个数组的字符
abcdef
abdef
可以看到a和b是两个串相同的,在比较第三个字符时第一个串是'c',第二个串是'd','c'-'d' = -1
abcdef
abdef
可以看到a和b是两个串相同的,在比较第三个字符时第一个串是'c',第二个串是'd','c'-'d' = -1
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-03-24
strcmp(字符数组名1,字符数组名2) 功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
字符串1=字符串2,返回值=0;
字符串2〉字符串2,返回值〉0;
字符串1〈字符串2,返回值〈0。
字符串1=字符串2,返回值=0;
字符串2〉字符串2,返回值〉0;
字符串1〈字符串2,返回值〈0。