c语言比较两个数组是否完全相同,有两个数组,全部是41字节长,求c语言代码高效快速的能求出位变量的

c语言比较两个数组是否完全相同,有两个数组,全部是41字节长,求c语言代码高效快速的能求出位变量的比较结果

第1个回答  2014-04-02
只比较是否相同:
#include<stdio.h>
void main()
{ unsigned int a[41],b[41],*p,*q,c[41];
int i,bSame;
bSame=1;
for ( i=0,p=a,q=b;i<41;i++,p++,q++ ) if ( *p != *q ) { bSame=0; break; }
if ( bSame ) printf("数组相同\n"); else printf("数组不相同\n");
}
逐位比较c数组存放不同的位,不同位取1:
#include<stdio.h>
void main()
{ unsigned int a[41],b[41],*p,*q,*r,c[41];
int i,bSame;
for ( i=0,p=a,q=b,r=c;i<41;i++,p++,q++,r++ ) *r=*p ^ *q;
bSame=1;
for ( i=0,r=c;i<41;i++,r++ ) if ( *r ) { bSame=0; break; }
if ( bSame ) printf("数组相同\n"); else printf("数组不相同\n");
}本回答被网友采纳
第2个回答  2014-04-02
#include<stdio.h>
int cmp(char *str,char *str1)
{
    int i,j=0;
    for(i=0;str[i]||str1[i];i++)
    {
        if(str[i]>str1[i]){j=1;break;}
        else if(str[i]<str1[i]){j=-1;break;}
    }
    return j;
}
int main()
{
char str[41]="hello",str1[41]="hi";
if(cmp(str,str1))printf("not same\n");
else printf("same\n");
printf("%d\n",cmp(str,str1));
return 0;
}

第3个回答  2014-04-02
发撒发色的股份锁定换个地方
相似回答