C Programming and Technical

output?
main()
{i
nt i=5;
printf("%d%d%d%d%d%d",i++,i--,++i,--i,i);
}

Answer: 45545

Explanation: The arguments in a function call are pushed into the stack from left to right. The evaluation is by popping out from the stack. And the evaluation is from right to left, hence the result.

Read Solution (Total 0)

C Other Question

output?
main()
{
printf("nab");
printf("bsi");
printf("rha");
}

Answer: hai

Explanation:
n - newline
b - backspace
r - linefeed
output?
#define square(x) x*x
main()
{i
nt i;
i = 64/square(4);
printf("%d",i);
}

Answer: 64

Explanation: the macro call square(4) will substituted by 4*4 so the expression becomes i = 64/4*4 . Since / and * has equal priority the expression will be evaluated as (64/4)*4 i.e. 16*4 = 64