Почему программный код c не запрашивает второе значение и почему char хранится в форме int Я взял это из примера в Интернете - PullRequest
1 голос
/ 09 мая 2020
#include <stdio.h>
// source tutorial points
int main(){
    int c;
    char d;
    printf("Enter First value \n");

    c = getchar();

    printf("Enter Second value \n");
    d = getchar();

    printf("You have entered first \n");
    putchar(c);

    printf("You have entered second \n");
    putchar(d);

    return(0);
}

когда я ввожу первое значение, другое значение не запрашивается, помогите, пожалуйста, я не ожидаю, что символ невозможен в char.

1 Ответ

3 голосов
/ 09 мая 2020

Потому что каждый раз, когда вы вводите символ и нажимаете ENTER. Итак, второй getchar в вашем коде читает символ enter.

Ваш код должен измениться на:

    c = getchar();
    getchar(); // for consuming the enter character

    printf("Enter Second value \n");
    d = getchar();
    getchar(); // for consuming the enter character

Результат:

Enter First value                                                                                                         
a                                                                                                                         
Enter Second value                                                                                                        
b                                                                                                                         
You have entered first                                                                                                    
a                                                                                                                         
You have entered second                                                                                                   
b
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...