= 'A' && ch <= 'Z' ? ch + 'a' - 'A':ch);"/>
Home / C Programming / Expressions :: Discussion

Discussion :: Expressions

  1. What will be the output of the program?

    #include
     int main() 
     {   
      char ch;    
      ch = 'A';    
      printf("The letter is");    
      printf("%c", ch >= 'A' && ch 'Z' ? ch + 'a' - 'A':ch); 
      printf("Now the letter is");     
      printf("%c\n", ch >= 'A' && ch 'Z' ? ch : ch + 'a' - 'A'); 
      return 0;
     }
    

  2. A.

    The letter is a
    Now the letter is A

    B.

    The letter is A
    Now the letter is a

    C.

    Error

    D.

    None of above

    View Answer

    Workspace

    Answer : Option A

    Explanation :

    Step 1: char ch; ch = 'A'; here variable ch is declared as an character type an initialized to 'A'.

    Step 2: printf("The letter is"); It prints "The letter is".

    Step 3: printf("%c", ch >= 'A' && ch

    The ASCII value of 'A' is 65 and 'a' is 97.

    Here

    => ('A' >= 'A' && 'A'

    => (TRUE && TRUE) ? (65 + 97 - 65) : ('A')

    => (TRUE) ? (97): ('A')

    In printf the format specifier is '%c'. Hence prints 97 as 'a'.

     

    Step 4: printf("Now the letter is"); It prints "Now the letter is".

    Step 5: printf("%c\n", ch >= 'A' && ch

    Here => ('A' >= 'A' && 'A'

    => (TRUE && TRUE) ? ('A') :(65 + 97 - 65)

    => (TRUE) ? ('A') : (97)

    It prints 'A'

    Hence the output is

    The letter is a
    Now the letter is A


Be The First To Comment