关于strcmp
#include<stdio.h>#include<string.h>
int main()
{
char a[] = "abc";
char b[] = "Abc";
printf("%d", strcmp(a, c));
return 0;
}
为啥翁恺讲课可以输出32,这个不应该输出1吗? @zltzlt 他发错版块了啊 _2_ 发表于 2019-11-17 17:13
@zltzlt 他发错版块了啊
没有 解决问题啊,兄弟们,别发这种无关紧要的东西{:10_250:} 本帖最后由 jackz007 于 2019-11-17 23:30 编辑
strcmp("abc" , "Abc") 会从第一个字符开始,比较两个字符串中的字符,如果相同,就继续比较下一个字符,直至比出差异或比完两个字符串中的所有字符为止。比较方法就就是把两个字符的 ASCII 编码相减。'a' 和 'A' 的编码分别是 97 和 65,二者相减的差是个固定值 32。同时,这个数值也是每个小写字母与对应大写字母编码值的系统差,就是说,不光 'a' - 'A' 是 32,'z' - 'Z' 也是 32。根据这种数量关系,可以对字母字符进行大小写转换。I 不同的编译器输出可能不一样
页:
[1]