Bird
Raised Fist0
Cprogramming~5 mins

Using scanf for input - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of scanf in C?

scanf is used to read input from the user through the keyboard and store it in variables.

Click to reveal answer
beginner
How do you read an integer value using scanf?

Use scanf("%d", &variable); where variable is an int type.

Click to reveal answer
beginner
Why do we use the ampersand (&) before the variable name in scanf?

The ampersand & gives the memory address of the variable so scanf can store the input value there.

Click to reveal answer
beginner
What format specifier is used to read a floating-point number with scanf?

Use %f to read a float value.

Click to reveal answer
beginner
How can you read a string (word) using scanf?

Use scanf("%s", variable); where variable is a character array (e.g., char name[20];).

Click to reveal answer
Which of the following is the correct way to read an integer using scanf?
Ascanf("%d", num);
Bscanf("%d", &num);
Cscanf("%i", num);
Dscanf("int", &num);
What does scanf return after reading input?
AThe number of input items successfully matched and assigned
BThe input value itself
CThe memory address of the variable
DNothing (void)
Which format specifier reads a floating-point number in scanf?
A%f
B%d
C%c
D%s
How do you read a single character using scanf?
Ascanf("char", ch);
Bscanf("%s", &ch);
Cscanf("%d", &ch);
Dscanf("%c", &ch);
Why might scanf("%s", name); be unsafe without precautions?
AIt reads only one character
BIt does not store the input
CIt can cause buffer overflow if input is longer than the array size
DIt requires an ampersand (&) before the variable
Explain how to use scanf to read an integer and why the ampersand (&) is needed.
Think about how scanf needs to know where to put the input value.
You got /4 concepts.
    Describe the risks of using scanf to read strings and how to avoid them.
    Consider what happens if user types more characters than the array can hold.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the purpose of the scanf function in C?
      easy
      A. To read input from the user during program execution
      B. To print output to the screen
      C. To declare variables
      D. To perform mathematical calculations

      Solution

      1. Step 1: Understand the role of scanf

        scanf is used to get input from the user while the program runs.
      2. Step 2: Differentiate from other functions

        Functions like printf print output, but scanf reads input.
      3. Final Answer:

        To read input from the user during program execution -> Option A
      4. Quick Check:

        scanf reads input [OK]
      Hint: scanf reads input, printf prints output [OK]
      Common Mistakes:
      • Confusing scanf with printf
      • Thinking scanf declares variables
      • Assuming scanf performs calculations
      2. Which of the following is the correct way to read an integer variable num using scanf?
      easy
      A. scanf("%s", &num);
      B. scanf("%d", num);
      C. scanf("%f", &num);
      D. scanf("%d", &num);

      Solution

      1. Step 1: Identify the correct format specifier for integer

        Use %d to read an integer.
      2. Step 2: Use the address operator for variables

        Use &num to pass the address of the variable to scanf.
      3. Final Answer:

        scanf("%d", &num); -> Option D
      4. Quick Check:

        Integer input needs %d and &variable [OK]
      Hint: Use & before variable except arrays [OK]
      Common Mistakes:
      • Omitting & before variable
      • Using wrong format specifier like %f or %s
      • Passing variable instead of its address
      3. What will be the output of the following code if the user inputs 25?
      int age;
      scanf("%d", &age);
      printf("Age: %d", age);
      medium
      A. Age: 0
      B. Age: 25
      C. Age: %d
      D. Compilation error

      Solution

      1. Step 1: Understand input reading

        scanf("%d", &age); reads the integer 25 and stores it in age.
      2. Step 2: Print the stored value

        printf("Age: %d", age); prints the string with the value of age, which is 25.
      3. Final Answer:

        Age: 25 -> Option B
      4. Quick Check:

        scanf stores input, printf prints it [OK]
      Hint: scanf stores input, printf prints variable [OK]
      Common Mistakes:
      • Forgetting & in scanf causing runtime error
      • Using wrong format specifier in printf
      • Expecting scanf to print output
      4. Identify the error in the following code snippet:
      int x;
      printf("Enter a number: ");
      scanf("%d", x);
      printf("You entered %d", x);
      medium
      A. Missing & before variable x in scanf
      B. Wrong format specifier in scanf
      C. Missing semicolon after printf
      D. Variable x not declared

      Solution

      1. Step 1: Check scanf usage

        scanf("%d", x); is incorrect because it should use &x to pass the address.
      2. Step 2: Confirm other parts are correct

        Format specifier is correct, semicolons are present, and x is declared.
      3. Final Answer:

        Missing & before variable x in scanf -> Option A
      4. Quick Check:

        scanf needs &variable for input [OK]
      Hint: Always use & before variables in scanf except arrays [OK]
      Common Mistakes:
      • Omitting & causing segmentation fault
      • Using wrong format specifier
      • Assuming scanf prints output
      5. You want to read a string (word) from the user into a character array name[20]. Which of the following scanf statements is correct and safe to avoid buffer overflow?
      hard
      A. scanf("%s", name);
      B. scanf("%s", &name);
      C. scanf("%19s", name);
      D. scanf("%20s", &name);

      Solution

      1. Step 1: Understand string input with scanf

        To read a string into name, use %s without & because arrays decay to pointers.
      2. Step 2: Prevent buffer overflow

        Limit input length to 19 characters using %19s to leave space for the null terminator.
      3. Final Answer:

        scanf("%19s", name); -> Option C
      4. Quick Check:

        Limit string input length with %19s [OK]
      Hint: Use %19s for 20-char array to avoid overflow [OK]
      Common Mistakes:
      • Using & with arrays in scanf
      • Not limiting input length causing overflow
      • Using wrong format specifier for strings
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard