请读程序: #include <stdio.h> #include <string.h> main() { char *s1="AbCdEf", *s2="aB"; s1++; s2++; prin

admin2009-01-15  50

问题 请读程序:    #include  <stdio.h>    #include  <string.h>    main()    {  char *s1="AbCdEf",  *s2="aB";       s1++;  s2++;       printf("%d\n",strcmp(s1,s2));    }    上面程序的输出结果是(    )。

选项 A、正数
B、负数
C、零
D、不确定的值

答案1

解析 本题考查字符串比较函数strcmp()的应用。strcmp(s1,s2)是中比较函数,当s1> s2时返回值为正数,当s1<s2时返回值为负数,当s1=s2时返回值为零。本题中s1,s2分别表示两个串中第一个字符的地址,s1++和s2++是将指针指向串的第二个字符,指针变量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指针变量s2指向的是字符’B’的地址。而在字符串比较中,宁符串大小的确定是各个字符串相应位置字符的ASCII码值的大小决定的,字符’B’的ASCII码值为66,字符“b”的ASCII码值为98,所以s1>s2,返回值为正数。
转载请注明原文地址:https://kaotiyun.com/show/8LXp777K
0

最新回复(0)