main()
{
int ptr[] = {1,2,23,6,5,6};
printf("%d",&ptr[3]-&ptr[0]);
}
Answer Posted / 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 |
Post New Answer View All Answers
How can I trap or ignore keyboard interrupts like control-c?
What is the return type of sizeof?
hw can we delete an internal node of binary search tree the internal node has child node..plz write progarm
What is the use of function in c?
Explain what are multidimensional arrays?
how to build a exercise findig min number of e heap with list imlemented?
Who developed c language and when?
What are the advantages of using Unions?
An arrangement of information in memory in such a way that it can be easily accessed and processed by a programming language a) string b) data structure c) pointers d) array
Explain what is a 'locale'?
How do you determine whether to use a stream function or a low-level function?
string reverse using recursion
An application package has been provided to you without any documents for the following application. The application needs to be tested. How will you proceed?
What is difference between array and structure in c?
The difference between printf and fprintf is ?