what is the output of the following program?
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;
}
}
Answer Posted / ashwin kumar
output is 2222228344
in loop 1
as we know that array variable contain the base address of
the array
*c means we are trying to print the value of contained in
the base address which is not changed in the loop
note we can't change the base address of the array that is
we can't do 'c++'
as in loop for 5 times contain of the base address will be
printed as
22222
in loop 2
in assigned base address of the array to pointer p
here we are printing the contain of address stored in p and
increment the value of p ( that is pointing to the next
element of the array )
so we will get output for 2nd loop is
28344
overall answer is
2222228344
if any wroung in my aswer plz info me at
molugu.ashwin@gamil.com
| Is This Answer Correct ? | 2 Yes | 0 No |
Post New Answer View All Answers
Do you have any idea how to compare array with pointer in c?
write a program to generate address labels using structures?
Why is main function so important?
Explain what is the benefit of using an enum rather than a #define constant?
What is meant by inheritance?
What is equivalent to ++i+++j?
What is data structure in c language?
Is fortran still used in 2018?
What is the sizeof () a pointer?
Can you write the algorithm for Queue?
What's the right way to use errno?
Is javascript based on c?
Why we use break in c?
How many keywords (reserve words) are in c?
What is memcpy() function?