I made this function to get input:
void entrada_dados(Time* time, int i){
    scanf("%s %d %d", time[i].nome, &time[i].gols_marcados, &time[i].gols_sofridos);
};
The input is in this form:
2
Campinense 
23
12
ABC
30
13
The main is:
int main(void) {
  int n = 0;
  scanf("%d", &n);
  
  for(int i = 0; i < n; i++){
    entrada_dados(time, i);
 }
....
My problem is when the team name have some space like to "São Paulo". I have tried some forms to solve, but no one solved my problem.
I tried:
void entrada_dados(Time* time, int i){
    fscanf(stdin, "%[^\n] %d %d", time[i].nome, &time[i].gols_marcados, &time[i].gols_sofridos);
};
and:
void entrada_dados(Time* time, int i){
    fgets(time[i].nome, 100, stdin);
    scanf("%d", &time[i].gols_marcados);
    scanf("%d", &time[i].gols_sofridos);
  }
but in the first case the output have nothing, and second case the output miss some cases. Someone can help me to understand this problem?
Edit 1: The definition of .name is:
typedef struct Time{
  char nome[100];
  int gols_marcados;
  int gols_sofridos;
} Time;
Edit 2:
Solution: One way to solve it:
Try two fscanfs fscanf(stdin, " %[^\n]", time[i].nome);
fscanf(stdin, "%d %d", &time[i].gols_marcados, &time[i].gols_sofridos);
Thank you guys.
 
    