所以我有两个数组,a[17] 和 b[12]。我想比较每个的前 12 个数字,如果数字匹配,则打印出“0”,如果不匹配,则打印出“1”。但它不起作用。它应该打印“000001111111”但它没有。谁能告诉我为什么?
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
int main(){
int i, j;
int a[17] = {1,0,1,0,0,1,0,1,0,1,0,0,0,1,1,0,1};
int b[12] = {1,0,1,0,0,0,1,0,1,0,1,1};
for(i=0;i<12;i++)
for(j=0;j<12;j++)
if(a[i] == b[j])
printf("1");
else
printf("0");
system("pause");
return 0;
}
最佳答案
您的代码应该是:
for(i=0;i<12;i++) {
if(a[i] == b[i]) {
printf("1");
} else {
printf("0");
}
}
不需要两个循环。
您想比较数组中相同索引的元素,因此两个数组的索引 i
应该相同。
关于比较C中的两个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26794449/