Я хочу сгенерировать вывод, подобный этому «firstname surname: day.month.year», но то, что я получаю, является некоторым замешанным порядком. Я новичок в C, и я не знаю, что здесь происходит.Почему меняется порядок вывода при печати с помощью printf?
Так это то, что я получаю
Это мой код
char string[imax];
fgets (string, imax, team1); //wo, max count, aus welchem file
int i=1, k=0;
char delimiter[] = " ";
char *day, *month, *year, *firstname, *surname;
char *stats[5];
while(fgets(string,imax,team1) != 0)
{
/*stats[0] = strtok(string,delimiter);
while(i <=4)
{
stats[i] = strtok(NULL,delimiter);
i++;
}*/
day = strtok(string,delimiter);
month = strtok(NULL,delimiter);
year = strtok(NULL,delimiter);
firstname = strtok(NULL,delimiter);
surname = strtok(NULL,delimiter);
printf("%s ", firstname);
printf("%s:", surname);
printf("%s.", day);
printf("%s.", month);
printf("%s. ", year);
}
EDIT: Я получаю тот же порядок, как и порядок в файле Читаю от
Удалите '\ n' с конца' surname'. – interjay
И добавьте '\ n' в последнем утверждении' printf' –