数组比较问题

来源:百度知道 编辑:UC知道 时间:2024/06/19 00:47:18
bytes1 和bytes2 对比 显示为不相等
但是我用bytes1[0]-bytes2[0]等于0
bytes1[1]-bytes2[1]以此类推 每个元素的值都一样 但整体比较 却说不同
我是想对比 整个数组的所有值是否相同

bytes1 和bytes2 对比 是比较的地址
数组名是数组地址

数组不能直接比较的

#include <string.h>

strcmp()-----用这函数

strcmp(bytes1,bytes2)>0 bytes1>bytes2;
strcmp(bytes1,bytes2)=0 bytes1=bytes2;
strcmp(bytes1,bytes2)<0 bytes1<bytes2

bytes1 和bytes2 对比,如果是char类型的,你用strcmp(bytes1 ,bytes2 ),如果==0,则相等。如果是 int型,或其他数值型,就用其他方式比较,比如你用的相减判断。不知道你是怎么对比bytes1 和bytes2的,这是地址,两个不同的数组地址就是不同啊。

用for(i=0,j=0;strcmp(bytes[i],bytes[j]))==0;i++,j++);

如果照你那样每个元素之间进行比较,一旦出现不相同的就得出“不相同”的结果,如果最后比较完了都没有不相同的元素,那么得出“相同”的结果。
char型和int型的数组元素都能进行比较的!应该是你的程序代码问题吧,把代码贴出来呀!