C Programming - Arrays - Discussion
Discussion Forum : Arrays - Find Output of Program (Q.No. 1)
1.
What will be the output of the program ?
#include<stdio.h>
int main()
{
int a[5] = {5, 1, 15, 20, 25};
int i, j, m;
i = ++a[1];
j = a[1]++;
m = a[i++];
printf("%d, %d, %d", i, j, m);
return 0;
}
Answer: Option
Explanation:
Step 1: int a[5] = {5, 1, 15, 20, 25}; The variable arr is declared as an integer array with a size of 5 and it is initialized to
a[0] = 5, a[1] = 1, a[2] = 15, a[3] = 20, a[4] = 25 .
Step 2: int i, j, m; The variable i,j,m are declared as an integer type.
Step 3: i = ++a[1]; becomes i = ++1; Hence i = 2 and a[1] = 2
Step 4: j = a[1]++; becomes j = 2++; Hence j = 2 and a[1] = 3.
Step 5: m = a[i++]; becomes m = a[2]; Hence m = 15 and i is incremented by 1(i++ means 2++ so i=3)
Step 6: printf("%d, %d, %d", i, j, m); It prints the value of the variables i, j, m
Hence the output of the program is 3, 2, 15
Discussion:
39 comments Page 3 of 4.
Manjuladevi said:
1 decade ago
This program output is confused. Please tell how the output print like this.
(2)
Manikandan said:
1 decade ago
This program output is confused. Please tell how the output print like this.
Sandy said:
1 decade ago
i=++a[1]=1+1=2 //preincrement
j=a[1]++ =1 //post increment
m=a[i++]=a[2]=15
j=a[1]++ =1 //post increment
m=a[i++]=a[2]=15
Venkatesh said:
8 years ago
int a[5]={75,94,123,566,334};
instead of that given array use this.
instead of that given array use this.
GMK said:
1 decade ago
In step 4 j=2++ after that j=2. I can't understand. please explain.
Raina said:
1 decade ago
But how can value of i is come 3. It is coming 2. Please explain.
Priya said:
1 decade ago
The order of printf function is i, j, k. Then it o/p is 2 3 15.
Shantaras said:
3 years ago
Sir,
M=a (2) taken why not a (3). (because I is incremented).
M=a (2) taken why not a (3). (because I is incremented).
(3)
Anita said:
7 years ago
Please explain it to me to understand the concept of this.
Mainak said:
6 years ago
I am not understanding step 5. Please explain it clearly.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers