How to stop user entering char as int input in C

前端 未结 5 1600
北恋
北恋 2020-12-20 06:17

Heres a part of my code:

    printf(\"\\nEnter amount of adult tickets:\");
    scanf(\"%d\", &TktAdult);
    while (TktAdult<0){
        printf(\"\\n         


        
5条回答
  •  再見小時候
    2020-12-20 07:00

    // You can try this,  Filter all except for the digital characters
    int TktAdult;
    char ch;
    char str[10];
    int i = 0;
    printf("\nEnter amount of adult tickets:");
    while ((ch = getchar()) != '\n')
    {
        // Filter all except for the digital characters
        if(!isalpha(ch) && isalnum(ch))
            str[i++] = ch;
    }
    str[i] = '\0';
    TktAdult = atoi(str);
    printf("Done [%d]\n", TktAdult);
    

提交回复
热议问题