Я начинаю изучать язык Си, и после небольшого перерыва я снова начинаю изучать его, и я застрял в новых обновлениях.Этот код не работает.Я не могу понять, как это сделать сейчас.Если я перейду с scanf на scanf_s, он все равно не будет работать.Я также пытаюсь изменить объявление типа.Кто-то здесь, кто может объяснить, как я могу изменить этот код и что использовать сейчас, scanf или scanf_s, и в каких случаях их использовать.Заранее спасибо.
#include <stdio.h>
#define N 256
typedef struct
{
char name[N];
char surname[N];
char street[N];
char city[N];
char district[3];
int n_house;
int day, month, year;
} person;
main()
{
person s;
printf("ask name\n");
scanf("%s", s.name);
printf("ask sur\n");
scanf("%s", s.surname);
printf("ask wh h lives\n");
scanf("%s %s %s %d", s.street, s.city, s.district, &s.n_house);
printf("ask bd\n");
scanf("%d/%d/%d", &s.day, &s.month, &s.year);
printf("personal data of the person : \n");
printf("%s %s\n Nato il %d %d %d \n Vive in %s %s %s %d", s.name, s.surname, s.day, s.month, s.year, s.street, s.city, s.district, s.n_house);
}
Ошибка C4996 scanf.Эта функция или переменная может быть небезопасной.Попробуйте вместо этого использовать scanf_s.Чтобы отключить амортизацию, используйте _CTR_SECURE_NO_WARNINGS.