#include <stdio.h>
#define MAXSIZE 20
#define MAXLEN 30
int main(void)
{
char name[MAXSIZE][MAXLEN];
int i, size;
printf("How many people in the group [1 to %d]? ", MAXSIZE);
scanf("%d", &size);
for(i=0; i<size; i++)
{
printf("Enter name for student %d: ", i+1);
fgets(name[i], MAXLEN+1, stdin);
} //end for
}//end main
The call to "scanf" reads an integer from the input but leaves the RETURN character in the buffer, so the first time gets is executed, you get an empty line.
A good approach to user input is to always get whole lines and then retrieve whatever data you want from the extracted lines. For example, you could replace your call to scanf by: