main()
{
char s[]=”man”;
int i;
for(i=0;s[i];i++)
printf(“\n%c%c%c%c,s[i],*(s+i),*(i+s),i[s]”);
}
Ans:
mmmm
aaaa
nnnn
Explanation:
S[i], ],*(s+i),*(i+s),i[s] are all different ways of expressing the same idea, Generally array name is the base address for that array. Here s is the base address. I is thee index number/displacement from the base address. So, indirecting it with * is same as s[i], i[s] may be surprising. But in the case of C, it is same as s[i].
No comments:
Post a Comment