given the piece of code
int a[50];
int *pa;
pa=a;
to access the 6th element of the array which of the
following is incorrect?
a.*(a+5)
b.a[5]
c.pa[5]
d.*(*pa + 5)
Answers were Sorted based on User's Feedback
Answer / karthik
void main()
{
int a[50]={1,2,3,4,1,55};
int *pa;
pa=a
printf("%d",*(pa+5));
}
we will the sixth element
its not pointer to the pointer ie *(*pa+5);
| Is This Answer Correct ? | 38 Yes | 4 No |
Answer / jaya prakash
Answer is D.
It is not a pointer to pointer.So we cannot use two stars.
| Is This Answer Correct ? | 6 Yes | 1 No |
The wrong answer is
d> *(*pa+5)
here value pointed to by pa is accessed and added 5 to it
then trying to print the value at that address, which gives
us an warning with some garbage value.
| Is This Answer Correct ? | 5 Yes | 1 No |
Answer / vignesh1988i
d) is the wrong choice...... because , first variable pa
refers to a address of the array... * of that pa will give
you the first value of the array.. ie a[0] , then that value
will be getting added with 5 and the * which is outside wont
have any value towards this manuplation...... so this will
show an error...... illegal use of pointers.....
thank u
| Is This Answer Correct ? | 2 Yes | 0 No |
What's the difference between DELETE TABLE and TRUNCATE TABLE commands?
how to find string length wihtout using c function?
#include<stdio.h> void main() { int =1; printf("%d%d%d",a++,++a,++a); }
Is main() function predfined or userdefined?
What is a union?
How can I open a file so that other programs can update it at the same time?
What is static identifier?
ASCII stands for
When I set a float variable to, say, 3.1, why is printf printing it as 3.0999999?
how to find the size of the data type like int,float without using the sizeof operator?
find out largest elemant of diagonalmatrix
main() { char *p; p="Hello"; printf("%c\n",*&*p); }