我想比较两个不同的数组,它们都是int
类型的。一个数组是静态的,包含从1到10的数字,第二个数组要求用户输入10个不同的数字,程序检查两个数组中哪些元素相等。
#include <stdio.h>
int main(void) {
int array1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int array2[10];
int i;
for (i = 0; i < 11; i++) {
printf("Enter numbers: ");
scanf("%d", &array2);
}
for (i = 0; i < 11; i++) {
if (array1[i] != array2[i]) {
printf("Not equal \n");
} else {
printf("They are equal. \n");
}
}
}
即使我输入一个与第一个数组中的数字相等的数字,程序仍然会显示不相等。
i < 10
,而不是i < 11
。另外,在scanf行中,你应该使用&array2[i]
。 - M.M