比较char数组以检查输入是否相同

时间:2015-10-24 20:24:51

标签: c arrays

如果我有2个数组,一个已经在代码中,另一个是用户输入的,我如何检查用户输入的数组是否在另一个预定义数组中找到?

char array1[] = {abcdefghijklmn};
char array2[3];

printf("enter 3 letters: ");

for (int i = 0; a < 3; i++) {
scanf(" %c"; &array2[i]);
}

for (int a = 0; i < 14; a++) {
   for (int b = 0; b < 3; b++) {
   if (array1 [a] == array2 [b])
      printf("located at %d ", array1[a]);
   }
}

我认为我的for语句只比较每个元素而不是整个单词,如果用户键入abc,我如何在for循环/ if语句中修复它?

1 个答案:

答案 0 :(得分:0)

这样的事情:

for (int b = 0; b < 14; b++) 
{
     i=0;
     while(array2 [i] == array1 [b] && b<14 && i<4)
     {
          ++i;
          ++b;
     }
     if(i==3)
     {
         printf("\nlocated at %d ",b-3);
         break;//for single occurence
     }
}

编辑:要计算单词的多个出现次数,只需删除条件中的break语句。