хочу ограничить ввод символов тип char в языке си

Мне нужно чтобы пользователь мог вводить только 1 букву и только строчные или прописные (не цифры, не знаки - только буквы), а в ином случае программа заканчивалась.

Как мне провести эту проверку?

В коде нужно проверить только переменную letter

int main() {
    char letter = 0;
    char char_sequence = 0;
    int times_letter_repeat = 0;

    printf("Enter letter to count:\n");
    scanf("%c", &letter);
    printf("Enter the char sequence:\n");
    scanf("%c", &char_sequence);

    while (char_sequence != '$')
    {
        if (char_sequence == letter || char_sequence == letter - 'a' + 'A'){
            times_letter_repeat++;
        }
        
        scanf("%c", &char_sequence);
    }
    printf("The letter appeared %d times\n", times_letter_repeat);

    return 0;
}

Ответы (3 шт):

Автор решения: Qwertiy
char s[2];
if (scanf("%1[a-zA-Z]", s) != 1) exit(1);
char ch = *s;
→ Ссылка
Автор решения: Sergey

не цифры, не знаки - только буквы

man 3 isalpha

isalpha() - checks for an alphabetic character;
→ Ссылка
Автор решения: Генс
#include<stdio.h>
#include<ctype.h>

Int main(void)
{
//Принимает только алфавит.
//Считает количество только
// одной указанной буквы. 
// для выхода введите любой небуквенный символ. 
//Для обработки кириллицы добавить <wctype.h>
//соответственно этому изменить представление
// на wchar_t и имена функций по примеру iswalpha() 
char let, charSeq; 
int letCount=0; 
printf("Enter letter to count:\n"); 
scanf("%c", &let); 
printf("Enter the char sequence:\n");
while (scanf("%c",&charSeq)==1) 
{
if(isdigit(charSeq)||ispunct(charSeq))
    break;
if(isalpha(charSeq))
{
    if (charSeq == let)
    letCount++;
}
} 
    printf("The letter appeared %d times\n",letCount);
    return 0;
}
→ Ссылка