Por que printf () ao imprimir várias strings (% s) deixa uma nova linha e como resolver isso?
Eu criei um programa que aceita strings (nome / sobrenome), mas em vez de uma saída típica de
Phil Snowken, 3 anos, estou recebendo
Phil
Snowken
3 anos
#include <stdio.h>
#define N 10
struct data{
char fname[30];
char lname[30];
int age;
};
main()
{
int i;
struct data base[N];
for(i=0;i<N;i++){
printf("\n-------------------------");
printf("\nPeople Data(%d remaining)\n",N-i);
printf("---------------------------\n\n");
printf("\nFirst Name ");
fgets(base[i].fname,30,stdin);
printf("\nLast Name ");
fgets(base[i].lname,30,stdin);
printf("\nAge ");
scanf(" %d",&(base[i].age));
fflush(stdin);
}
for(i=0;i<N;i++)
printf("%s %s Year:(%d)",base[i].fname,base[i].lname,base[i].age);
return 0;
}