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
What is the benefit of using const for declaring constants?
What is a shell structure examples?
What is an auto variable in c?
why to assign a pointer to null sometimes??how can a pointer we declare get assigned with a garbage value by default???
What is the mean of function?
Which are low level languages?
How can a process change an environment variable in its caller?
What are the advantages of using linked list for tree construction?
What happens if you free a pointer twice?
What is malloc calloc and realloc in c?
Write a program to reverse a given number in c?
What are pointers? What are different types of pointers?
What is the difference between declaring a variable by constant keyword and #define ing that variable?
Write a program to swap two numbers without using a temporary variable?
What are the back slash character constants or escape sequence charactersavailable in c?