C语⾔使⽤strcmp()函数对两个汉字字符进⾏⽐较C语⾔使⽤strcmp()函数对两个汉字字符进⾏⽐较
最近写了个代码,发现关于使⽤strcmp()函数⽐较两个汉字字符串出现错误,现做以下改正:
源代码:
#include<stdio.h>
#include<string.h>
int main(){
char ch1[2],ch2[2];
ch1[2] = "我";
字符串比较函数实现ch2[2] = "我";
printf("%d",strcmp(ch1,ch2));
return 0;
}
运⾏结果:
怎么会出错呢?按理说该输出0才对。我没有去读strcmp()函数的源码
⾃⼰尝试着做了个修改
通过我对字符初始化的⽅式可以知道,我的两个字符串都没有字符串结束标志
于是我试着加上⼀个字符串结束标志
ch1[3] = "我\0";
ch2[3] = "我\0";
或者让系统⾃动的给加上字符串结束标志
ch1[3] = "我";
ch2[3] = "我";
最后输出:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论