What is the output of printf("%d")?
Answer Posted / arvind kumar yadav
When we use %d the compiler internally uses it to access
the argument in the stack (argument stack). Ideally
compiler determines the offset of the data variable
depending on the format specification string. Now when we
write printf("%d",a) then compiler first accesses the top
most element in the argument stack of the printf which is %
d and depending on the format string it calculated to
offset to the actual data variable in the memory which is
to be printed. Now when only %d will be present in the
printf then compiler will calculate the correct offset
(which will be the offset to access the integer variable)
but as the actual data object is to be printed is not
present at that memory location so it will print what ever
will be the contents of that memory location.
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
Is vector a class in c++?
What is polymorphism in c++? Explain with an example?
What is the main purpose of c++?
Explain the purpose of the keyword volatile.
How can you tell what shell you are running on unix system?
What is constructor c++?
How many types of classes are there in c++?
What is a singleton c++?
Explain virtual class and friend class.
Evaulate: 22%5 a) 2 b) 4 c) 0
Will c++ be replaced?
Is c++ the best programming language?
What is implicit conversion/coercion in c++?
Which header file allows file i/o with streams a) fileio.h b) iostream.h c) fstream.h
How to access a variable of the structure?