Force input to be positive numbers only with error handling in C

前端 未结 3 1189
广开言路
广开言路 2020-12-22 05:19

I have a trivial question to ask. My program should take postive integers only. If there is anything illegal, the user should be prompted to input a number again.

Th

3条回答
  •  盖世英雄少女心
    2020-12-22 06:12

    Use fgets to read a whole line into a buffer. If you only want to process the first character, you can just ignore the rest. Something along the lines of:

    char buf[MAX_LINE_LEN];
    if (fgets(buf, MAX_LINE_LEN, stdin))
    {
        char a = buf[0];
        /* Do handling... */
    }
    else
    {
        /* error */
    }
    

    Coded in browser, may contain traces of error.

提交回复
热议问题