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

To read a integer variable, find the correct format given below :

Int m;

This question was previously asked in
UGC NET 2014 Paper 1 Question Paper (28-Dec-2014)
The correct answer is

scanf ("\n %d", & m);

 Two things must both be right — the conversion specifier and the ampersand — and only option 4 has both.

scanf("\n %d", &m);

Why %d. The specifier tells scanf how to interpret the incoming characters and how many bytes to write. %d means signed decimal integer, matching the declaration int m. Option 3's %c would store a single raw character — typing 5 would leave the code 53, not the value 5 — and option 2's %s would copy characters into memory as a string, overrunning a four-byte integer at once. Option 2 is also missing its closing quotation mark, so it will not even compile.

Why the ampersand. This is the real point of the question. C passes everything by value, so scanf receives copies of its arguments and could never change a caller's variable through one. It is given the address instead:

\(\texttt{\&m}\ \longrightarrow\ \text{a pointer to m}\)

and writes through that pointer. Omitting it, as option 1 does, passes the current value of m — whatever rubbish an uninitialised variable holds — and scanf treats that number as an address and writes there. The result is undefined behaviour: usually a segmentation fault, occasionally silent corruption of unrelated memory, which is worse.

OptionFault
1No & — passes a value as an address
2Wrong specifier and an unterminated string
3%c stores a character code, not a number
4Correct

The one exception to the rule is worth remembering because it is the source of much confusion: with %s and a character array, no ampersand is used — an array name already decays to the address of its first element. Everything else, including every numeric type, needs the &.

The leading \n in the format string is not required. Whitespace in a scanf format means "skip any amount of whitespace here", so "\n %d" and " %d" and "%d" behave identically for numeric input, which already skips leading blanks.

Hence, the correct form is scanf("\n %d", &m);.

Was this answer helpful?

Similar Questions

  1. The function "isalnum( )" returns a non-zero value if the character is alphanumeric and zero otherwise. What is header file to be used in the main program ?

  2. Find the correct list, which is the reverse (at all levels) of the given list :

    [[4, 7, 8], 2, 9, [19, 6], 20, 3]

    (i) 3, 20
    (ii) 9, 2
    (iii) [6, 19]
    (iv) [8, 7, 4]

  3. Which of the following is not an infinite loop ?

    (A) int i = 1; 

    while (1) 

         { 

               i++ ;

     }
     

    (B) for ( ; ; ) ;


    (C) int t = 0, f ;

     while (t) 

    {   

                  f = 1; 

    }
     

    (D) int y, x = 0 ; 

    do 

    {

     y = x; 

            while (x == 0);

  4. The three types of loops available in C language are

    i. for
    ii. while
    iii. do-while

    Which loops do not operate without testing the condition even once ?

  5. Match the following :

    List – IList – II 
    a. associativityi. memory storage
    b. # defineii. if-then-else
    c. autoiii. operators with equal precedence
    d. conditional operatoriv. define operator

    Codes :

  6. Assertion (A) : 'C' uses many data types such as integers (short and long) and float etc.

    Reason (R) : Conversion specifier used for short unsigned integer is % lu.

  7. Which bitwise operator is suitable for turning off a particular bit in a number ?

  8. Which storage class is used for the variables that are often required in a program ?

  9. Which is not a proper way of array declaration ?

  10. Exponentiation operation in C is carried out as


Important Questions from Miscellaneous

  1. Read the given figure and find the region representing persons who are educated and employed but not confirmed in job.

  2. The magazine in which Mahatma Gandhi mentioned what he wanted the Constitution to do is:

  3. Which gas shields the surface of the earth from ultraviolet radiation from the sun?

  4. Which event is marked as an Intangible Cultural Heritage of Humanity by UNESCO?

  5. Who has been conferred with the rank of the Commander of the Order of the British Empire in 2018?

Need Expert Advice?
Upcoming Exams
MH SET
October 25, 2026
CTET
December 12, 2026
Test Series
UGC NET img
Teaching
UGC NET (Paper 1) 2026 Mock Test Series
476 Tests 1 Tests Free
4.3(72)
English
More Questions from UGC NET

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