Если я хочу, чтобы пользователь вводил один символ, как бы я сделал это на языке c. Моя попытка на этом ниже, но это было ужасно. Из того, что я читал в Интернете, я слышал, что вы можете использовать функцию gets или fgets для выполнения этого, но я не мог понять, как это сделать.Как я могу позволить пользователю вводить один символ в c
do
{
geussNumber += 1;
printf("Enter guess number %d\n", geussNumber);
scanf(" %c", &geussLetter);
scanf ("%c", &inputViolation);
if (isalpha(geussLetter) == 0)
{
printf("You did not enter a letter\n");
}
else if (inputViolation == true)
{
printf("You eneterd more than one letter\n");
}
else
{
inputLoopEnd = 1;
}
}
while(inputLoopEnd == false);
'inputViolation == true' выглядит ужасно ... Я думаю, что его нужно сравнивать, по крайней мере, с каким-то персонажем. – MikeCAT
Нет, 'gets()' не может использоваться, потому что он имеет неизбежный риск переполнения буфера, устарел на C99 и удален из C11. – MikeCAT
Я думал, что если он читает что-либо, кроме 0 (true в c) на входной строке, пользователь вводит более одного символа. –