c语言问题,高人来下

来源:百度知道 编辑:UC知道 时间:2024/07/04 17:39:40
请问在c语言中如何判断两个字符串相等,不能使用strcmp函数,
我试了一个一个对比的方法#define LONG 20
char a[LONG]={...}
char b[LONG]={...}

for(int i = 0;i < LONG;++i)
{
if(a[i] != b[i])
break;
}

if(i == 20)
printf("相等\n");

但是当a[long]=“abc”long=3时会提示相等,但是long>3就提示不相等这个是为什么,有什么办法解决,
还有如果提出字符串中的元素,高手帮忙下

我试了下没问题啊……

纪录a,b串长la,lb
比较字符若la==lb就比较la次,若不等就比较少的次数
提出元素只要在数组中取串长个字符就行了

char a[20]={};
char b[20]={};
for(int i=0;i<20;i++)
{
if(a[i]!=a[j])
{
cout<<"不相等"<<endl;
return 1;
}
}
cout<<"相等"<<endl;

可能的原因:
在给a[]赋值前,先令数组全部为0
可能是在长度超过字符串长度时候,后面的数据未初始化的原因