Discussion :: Testing New
-
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);
}
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