How to prevent users from inputting letters or numbers?

前端 未结 4 923
闹比i
闹比i 2021-01-06 03:13

I have a simple problem;

Here is the code :

#include
main(){
 int input;
 printf(\"Choose a numeric value\");
 scanf(\"%d\",&input         


        
4条回答
  •  灰色年华
    2021-01-06 03:56

    You should not use scanf to read in numbers - see http://www.gidnetwork.com/b-63.html

    Use fgets instead.

    However, if you must use scanf, you can do this:

      #include 
      int main() {
          char text[20];
          fputs("enter some number: ", stdout);
          fflush(stdout);
          if ( fgets(text, sizeof text, stdin) ) {
              int number;
              if ( sscanf(text, "%d", &number) == 1 ) {
                  printf("number = %d\n", number);
              }
          }
          return 0;
      }
    

提交回复
热议问题