Для начала кажется, что в функции есть ошибка в условии l oop
for(i=0;i<=size;i++)
должно быть
for(i=0; i < size;i++)
Вы можете вызвать функцию в l oop like
temp = 0;
int i = 0'
while ( ( temp = Option2(Firstname + i,Nsearch, size - i) ) != - 1 )
{
i += temp;
printf("First Name:%s Last Name:%s Score: %.2f\n",Firstname[i],Lastname[i],score[i]);
++i;
}
Вот демонстрационная программа, которая показывает, как можно использовать циклы для вывода элементов, найденных в массиве.
#include <stdio.h>
#include <string.h>
#define N 20
int Option2( char Firstname[][N], char search[], int size )
{
int i = 0;
while ( i < size && strcmp( Firstname[i], search ) != 0 ) i++;
return i == size ? -1 : i;
}
int main(void)
{
char names[][N] = { "chanu", "bob", "chanu" };
const int M = ( int )( sizeof( names ) / sizeof( *names ) );
char s[] = "chanu";
int i = 0, j = 0;
while ( ( j = Option2( names + i, s, M - i ) ) != -1 )
{
i += j;
printf( "%d: \"%s\"\n", i, names[i] );
++i;
}
putchar( '\n' );
for ( int i = 0, j = 0; ( j = Option2( names + i, s, M - i ) ) != -1; i++ )
{
i += j;
printf( "%d: \"%s\"\n", i, names[i] );
}
return 0;
}
Выходные данные программы
0: "chanu"
2: "chanu"
0: "chanu"
2: "chanu