Home / General Knowledge / Testing New :: Discussion

Discussion :: Testing New

  1. Determine Output:

    #include<stdio.h>

    void main()

    {

    char s[]={'a','b','c','n','c','\0'};

    char *p, *str, *str1;

    p=&s[3];

    str=p;

    str1=s;

    printf("%c", ++*p + ++*str1-32);

    }

  2. A.

     N

    B.

     P

    C.

     M

    D.

     None of These

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    p is pointing to character '\n'. str1 is pointing to character 'a'.
    ++*p: "p is pointing to '\n' and that is incremented by one." the ASCII value of '\n' is 10. then it is incremented to 11. the value of ++*p is 11.
    ++*str1: "str1 is pointing to 'a' that is incremented by 1 and it becomes 'b'. ASCII value of 'b' is 98.
    Both 11 and 98 is added and result is subtracted from 32.
    i.e. (11+98-32) = 77("M").


Be The First To Comment