Examveda
Examveda

Determine Output:
void main()
{
      int c[] = {2.8,3.4,4,6.7,5};
      int j, *p=c, *q=c;
      for(j=0;j<5;j++){
            printf(" %d ", *c);
            ++q;
      }
      for(j=0;j<5;j++){
            printf(" %d ", *p);
            ++p;
      }
}

A. 2 3 4 6 5 2 3 4 6 5

B. 2.8 3.4 4 6.7 5 2.8 3.4 4 6.7

C. 2.8 2.8 2.8 2.8 2.8 2.8 3.4 4

D. 2 2 2 2 2 2 3 4 6 5

Answer: Option D

Solution(By Examveda Team)

Initially pointer c is assigned to both p and q. In the first loop, since only q is incremented and not c , the value 2 will be printed 5 times. In second loop p itself is incremented. So the values 2 3 4 6 5 will be printed.


This Question Belongs to C Program >> C Miscellaneous

Join The Discussion

Related Questions on C Miscellaneous