第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;
}