what is the output of following question?
void main()
{
int i=0,a[3];
a[i]=i++;
printf("%d",a[i]
}
Answers were Sorted based on User's Feedback
my opinion or wat i think is that ,
a[i]=i++; is given so...
here i++ is a post increment operation , so first it will assign the value to a[0]=0 , so a[0] will have 0 , and in next line a[i] is given in printf , so the value a[1] should get printed that will be garbage value.......
thank u
| Is This Answer Correct ? | 4 Yes | 1 No |
Answer / sha
Vignesh, you are right about the post incerement operation.
The a[i]=a[0] which will be assigned 0 but the printf will
print 0 as output because its printing the a[0] and not a
[1].
| Is This Answer Correct ? | 0 Yes | 0 No |
A garbage value
Explanaiton:-since we have post increment operator applied on i. It's value gets incremented in next statement, so
a[i]=i++ means a[0]= 0
so a[0] is assigned value 0;
and now i becomes 1;
In next statement value of a[i] is to be printed which means value of a[1], which is not initialised. So value printed is a
garbage value.
Remarks
1. An uninitialised variable holds a garbage value.
2. Post increment operator increments value in next line.
| Is This Answer Correct ? | 0 Yes | 0 No |
What does *p++ do?
what is the use of ~ in c lang?????
Write a program to print numbers from 1 to 100 without using loop in c?
What is call by value in c?
Write a program which calculate sum of several number and input it into an array. Then, the sum of all the number in the array is calculated.
what is the use of ‘auto’ keyword?
What are the advantages of using macro in c language?
how can i get the output 54321 4321 321 21 1 in c programming........???? pls help......
Explain what could possibly be the problem if a valid function name such as tolower() is being reported by the c compiler as undefined?
How does sizeof know array size?
write a program to print largest number of each row of a 2D array
how to find out the inorder successor of a node in a tree??