All Exams Test series for 1 year @ ₹349 only
Question

You need to read a floating-point value from the user in the C programming language. Which of the following statements correctly performs this task?

This question was previously asked in
RRB JE 2025 CBT 2 Mechanical and Allied Engg Question Paper English (2-Jul-2026) (Shift-1)
The correct answer is

float x; scanf("%f", &x);

The C library function scanf() reads formatted input from the keyboard and stores each value at a memory location. Two things must be correct for it to work: the format specifier must match the variable's data type, and scanf must be given the address (a pointer) of the variable, not the variable's value, because scanf writes the input into that memory location.

The correct statement is:

  • %f — the proper format specifier for a float in scanf.
  • &x — the address-of operator supplies the location of x, so scanf knows where to store the value it reads.

Why the other statements fail:

  • Using %d with &x tells scanf to interpret the input as an integer and write an integer-sized bit pattern into a float variable, giving a wrong/garbage result.
  • Writing *x dereferences x as if it were a pointer, but x is a plain float, not a pointer — this is a type error and leads to undefined behaviour.
  • Passing x without the & hands scanf the current (uninitialised) value of x instead of its address, so scanf tries to store data at an invalid location — again undefined behaviour, often a crash.
Was this answer helpful?

Similar Questions

  1. Consider the following code snippet in C programming language. 

    int n = 5; 

    int m = n++; 

    What is the value of m after execution?

  2. Which statement is TRUE about if statement in the C programming language?

  3. Which shape is used to represent a decision in a flowchart?

  4. What are the statements that begin with # symbol called in C programming language?

  5. What is the output of the give C language code snippet? 

    void f(int x)

    {

     x = x + 5;

     }

     int main()

    int a = 10;

     f(a); 

    printf("%d",a); 

    return 0; 

    }


Important Questions from Programming in C

  1. Which one is the reserved word in C language ?

  2. Which of the following is the feature(s) of High level programming languages?

    I. Portability

    II. Easy debugging

  3. Which of the following is a type of subprogram?

    I. Function

    II. Subroutine

  4. In object-oriented programming, which keyword ensures that a member variable belongs to the class itself rather than to any specific object, thereby allowing all instances to share a single copy of that variable?

  5. The condition num! = 65 cannot be replaced by

Need Expert Advice?
Test Series
RRB JE img
Railways
RRB JE (CBT 1 + CBT 2) 2026 Mock Test Series
1210 Tests 7 Tests Free
English, Hindi

Start Your Preparation with Prepp Mobile App

Download the app from Google Play & App Store
Download the app from Google Play & App Store
Prepp Mobile App