Итак, в приведенном ниже коде я пытаюсь найти subArr
в arr
.Но, как вы видите, я не могу правильно использовать цикл for
, чтобы потом начать сравнение.Что я должен принять как удовлетворительное условие для доступа к каждому символу этого элемента массива (скажем: cream
в позиции 0
) в соответствующей позиции?А затем сравните его с subArr
символ за символом, чтобы увидеть, существует ли subArr
в arr
Моя конечная цель - выяснить, существует ли subArr
в arr
.если это так, то return 1
, иначе return 0
Я не буду использовать strstr()
.
int myStrStr (char * arr, char * subArr, char * buffer) {
// printf("%s\n", arr);
// printf("%s\n", subArr);
// printf("%s", buffer = subArr);
int count = 0;
for(int i = 0; arr[i] != '\0'; i++) {
//for(int j = 0; needle[j] != '\0'; j++) {
if(arr[i] == subArr[i]) {
buffer[count] = arr[i];
count++;
printf("Array: %c\n", arr[i]);
printf("SubArray: %c\n", subArr[j]);
//printf("%s", buffer = subArr);
//}
}
//printf("\nBuffer: %s\n",buffer);
int result = strcmp(buffer, needle);
if(result == 0) {
return 1;
} else {
return 0;
}
}
int main() {
char arr[][10] = {"cream","factory","camel","crosses","eating","cake"};
char subArr[][10] = {"cream","at","am","cross","in","kk"};
char buffer[160];
int answer1 = myStrStr(arr[0],subArr[0], buffer);
int answer2 = myStrStr(arr[1],subArr[1], buffer);
int answer3 = myStrStr(arr[2],subArr[2], buffer);
return 0;
}