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

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.

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

(A) is true, but (R) is false.

 The assertion is plainly true; the reason names the wrong specifier%lu is for long unsigned, while short unsigned takes %hu. The answer is option 3.

How the specifiers are built. A length modifier is inserted before the conversion character:

ModifierMeaningUnsigned decimal
hshort%hu
llong%lu
(none)int%u
lllong long%llu

The letters are mnemonic: h for half (short) and l for long. The reason has simply taken the wrong one.

Why the mistake is not harmless. printf is a variadic function, so the compiler cannot check the arguments against the format string in general — it must trust the specifier. Writing %lu for a short makes printf read more bytes off the argument stack than were pushed, so it prints a corrupted value and misaligns every argument that follows. With scanf the consequence is worse: %lu writes a long's worth of bytes through a pointer to a short, overwriting adjacent memory. Modern compilers do warn about format mismatches, which is why that warning should never be ignored.

The assertion, for completeness. C's arithmetic types are char, short, int, long, long long, each with signed and unsigned forms, plus float, double and long double. The standard fixes only the minimum widths and the ordering

\(\text{sizeof(short)}\le\text{sizeof(int)}\le\text{sizeof(long)}\)

leaving the exact sizes to the implementation — which is why <stdint.h> was added, providing int16_t, uint32_t and the rest for code that needs an exact width.

A footnote on default promotion : in a variadic call a short argument is promoted to int anyway, so %hu and %u both happen to work with printf. The distinction is nonetheless real for scanf, and %lu is wrong in either case.

Hence, (A) is true, but (R) is false.

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. To read a integer variable, find the correct format given below :

    Int m;

  3. 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]

  4. 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);

  5. 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 ?

  6. 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 :

  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