Программа не видит ввод данных в переменные С
#include <stdio.h>
int main()
{
char familii1[10], familii2[10], familii3[10];
char t1[2], t2[2], t3[2];
float kolvo1=0, kolvo2=0, kolvo3=0;
int top1=0, top2=0, top3=0;
scanf_s( "\n%s %s %f %d",familii1,9,t1,1,&kolvo1,&top1);
scanf_s( "\n%s %s %f %d",familii2,9,t2,1,&kolvo2,&top2);
scanf_s( "\n%s %s %f %d",familii3,9,t3,1,&kolvo3,&top3);
printf("-------------------------------------------------------------------------");
printf("\n|Vedomost Sportivnih Sostizanii |");
printf("\n------------------------------------------------------------------------");
printf("\n|Familii Yhasnikov |Cod Komande |Kol-vo ballov |Mesto v komande |");
printf("\n| %s %s %3.2f %1d |", familii1,t1,kolvo1, top1);
printf("\n------------------------------------------------------------------------");
printf("\n| %s %s %3.2f %1d |", familii2,t2,kolvo2,top2);
printf("\n------------------------------------------------------------------------");
printf("\n| %s %s %3.2f %1d |", familii3,t3,kolvo3,top3);
printf("\n------------------------------------------------------------------------");
printf("\n|Premeshanie: D-'Denamo', S-'Spartak', H-'Shahter' |");
printf("\n------------------------------------------------------------------------");
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вообще-то если почитаете документацию, то числа 9 и 1 у вас в строках
scanf_s( "\n%s %s %f %d",familii1,9,t1,1,&kolvo1,&top1);
означают разер буфера с местом для нулевого символа. Поэтому, увидев 1, scanf_s ничего не читает — некуда! Возвращает ошибку и идет далее.
scanf_s( "\n%s %s %f %d",familii1,10,t1,2,&kolvo1,&top1);
Попробуйте так.