Я запустил ваш код, и, похоже, все работает правильно, кроме этой строки:
scanf(" %c \t",&repeat);
Удалите \ t из scanf, и он должен работать правильно. Вы не хотите искать символ табуляции, а только символ «Y» или «y».
Кроме того, использование новых строк немного необычно. Попробуйте поместить символы новой строки в конец ваших строк, а не в начало.
Обновленный код:
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int arr[MAX_SIZE];
int size, i, toSearch, found;
char repeat = ' ';
printf("Enter the size of an array\n");
scanf("%d", &size);
printf("Enter the array elements\n");
for (i = 0; i < size; i++)
scanf("%d", &arr[i]);
do{
printf("Enter element to search: \n");
scanf("%d", &toSearch);
found = 0;
for(i=0; i<size; i++) {
if(arr[i] == toSearch) {
found = 1;
break;
}
}
if(found == 1)
printf("%d is found at position %d\n", toSearch, i + 1);
else printf("%d is not found in the array\n", toSearch);
printf("Press Y to again Search Any Element in Array\nPress Any other Key to Exit the Program\n");
scanf(" %c",&repeat);
}
while(repeat == 'y' || repeat == 'Y' );
return 0;
}