c – Form with structure and pointers

Galera, I created this program to receive the name, address and phone of 2 people, it receives the data of the first people quietly, the problems start with the data of the second person, the name and address of the second person he receives, but simply skips the phone field input and goes to the next step, which is to print the information on the screen. The printing on the data of the first register proceeds normally, but for the second person, the name is followed by a number followed by the address. which is still the same in all the tests (32767), after the program ends, I wanted to understand why this was happening, I checked the code a few times and I did not find the code. ;fault.

#include 
#include 

struct People
{
Character name[30];
tank address[50];
int phone;
};

int main ()
{

int i;
empty print ();
empty receives ();

struct people people[2];

for (i = 0; i = 2; i ++)
{
receives (& people[i])
}
printf (" n  n");
for (i = 0; i = 2; i ++)
{
print (& people[i])
}
returns 0;
}


void receives (struct People * and)
{
fflush (stdin);
objects (y-> noun, 30, stdin);
objects (y-> address, 50, stdin);
scanf ("% d", & y-> phone);
}

empty print (struct People * x)
{
printf ("% s", x-> name);
printf ("% s", x-> address);
printf ("% d", x-> phone);
}