簡體   English   中英

在C中比較兩個數組?

[英]Comparing two arrays in C?

所以我有兩個數組,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應該相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM