Программа не возвращает значение массива - C (СИ)
Формулировка задачи:
Здравствуйте!
Не подскажете неопытному, почему программа не возвращает значение массива name[40] или почему введённые данные (имя) не записываются туда?
Спасибо!
/* praise1.c -- использует различные представления строк */
#include <stdio.h>
#define PRAISE "Какое прекрасное имя!"
#include <Windows.h>
int main(void)
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char name[40];
printf("Kaк вас зовут?\n");
scanf_s("%s", name);
printf("Здравствуйте, %s. %s\n", name, PRAISE);
getch();
return 0;
}Решение задачи: «Программа не возвращает значение массива»
textual
Листинг программы
scanf_s("%s", name, 40);
Объяснение кода листинга программы
В данном коде происходит следующее:
- Вводится переменная
nameтипа char, которая содержит строку, введенную пользователем. Длина строки ограничена 40 символами. - Используется функция
scanf_sдля безопасного чтения строки. Эта функция предотвращает переполнение буфера, что делает ее безопасной для использования.