main()
{
int ptr[] = {1,2,23,6,5,6};
printf("%d",&ptr[3]-&ptr[0]);
}
Answers were Sorted based on User's Feedback
Answer / sandeep
3
because aray pointer arthematic considers positions(index) of aray
| Is This Answer Correct ? | 46 Yes | 10 No |
Answer / shivam jindal
That should print a 3. It's really the same as
printf("%d", 3-0);
...since:
ptr[3] is the 4th element in the ptr[] array.
&ptr[3] is a pointer to the 4th element in the ptr[] array.
&ptr[0] is similarly a pointer to the first element in ptr[].
&ptr[3] - &ptr[0] is a subtraction of two pointers. That's only defined (in standard C/C++) for pointers to elements in the same array, like in this case, and it's defined as the difference between the index values. That's where the 3-0 comes from.
The result of a pointer difference is an int. &ptr[0] - &ptr[3] results in 0-3 which is -3.
| Is This Answer Correct ? | 5 Yes | 3 No |
Answer / dipak
In int at least 2 bytes are used for size and we know that &ptr[] gives the address of ptr .
&ptr[3]-&ptr[0]
Size of &ptr[3] is 3*2=6 times greater than Size of &ptr[0] is 1*2=2
ptr[0] also have any value that's why I consider it 1
So 6-2=4
| Is This Answer Correct ? | 4 Yes | 3 No |
Answer / mitesh mahera
I need a answer aboutthis question..if any can ?!
| Is This Answer Correct ? | 4 Yes | 6 No |
Answer / baba
Ans: 12
The expression in printf evaluates the difference of the memory addresses of ptr[3] and ptr[0]
| Is This Answer Correct ? | 5 Yes | 10 No |
Do you know the use of fflush() function?
What is openmp in c?
list the no of files created when c source file is compiled
Write one statement equalent to the following two statements x=sqr(a); return(x); Choose from one of the alternatives a.return(sqr(a)); b.printf("sqr(a)"); c.return(a*a*a); d.printf("%d",sqr(a));
The C language terminator is a.semicolon b.colon c.period d.exclamation mark
What is function pointer c?
What is the difference between a free-standing and a hosted environment?
How we add our function in liabrary as liabrary function. Exp. we want use our int factorical(int); function as int pow(int,int); function working in math header file.
If I have a char * variable pointing to the name of a function ..
is it possible to change the default calling convention in c ?
Which is the best sort method for library management?
int a=0,b=2; if (a=0) b=0; else b=*10; What is the value of b ?