0
Can someone explain me output of the code?
#include <stdio.h> int main() { char s[12]="SOLOLEARN"; int i = 1; char ch1 = ++i[s]; char ch2 = i++[s]; printf("%c",ch1); printf("\t%c",ch2); return 0; } // Output :- P P
1 Answer
0
Line ch1:
Is implicitly ++(i[s])
i[s] is the char 1 of s (the first O)
As pre-incr. is used, this char is at first incremented (to P) and then stored into ch1 (ch1=='P')
Note: s is now "SPLOLEARN"
Line ch2:
Is implicitly (i++)[s]
As post-incr. is used, i[s] is stored into ch2 (ch2=='P')
Afterwards i is incremented.
Does that answer your question?