如果我有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语句中修复它?
答案 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
语句。