Как использовать char [] и scanf для запроса имени пользователя в C-программировании - PullRequest
0 голосов
/ 13 июня 2019

Я недавно начал изучать c и, похоже, не могу правильно запустить его:

Я хочу спросить имя пользователя, а затем распечатать ему приветственное сообщение с его именем. Вот мой код:

char firstname;
printf("What is your name?\n");
scanf("%s\n", &firstname);
printf("Hello %s, Welcome to XApp\n", firstname);

1 Ответ

2 голосов
/ 13 июня 2019

В C строки представлены в виде массивов.Вам нужно будет объявить имя и присвоить ему произвольный размер (например, 100, предложенные alinsoar).

char firstname[100];
printf("What is your name?\n");
fgets (firstname, 100, stdin); /* Thanks for the tip! */
firstname[strcspn(firstname, "\n")] = 0;
printf("Hello %s, Welcome to XApp\n", firstname);

Хотя введенное имя может быть длиной не 100 символов, вам нужно выбрать размеркогда вы объявляете массив.C хочет знать, сколько места выделено для этого массива, прежде чем использовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...