Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
printf() Function
What is the output of printf("%d")?
✍: Guest
1. When we write printf("%d",x); this means compiler
will print the value of x. But as here, there is
nothing
after "%d", so compiler will show in output window
gurbage value.
2. 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
calculte the correct offset (which will be the offset
to access the integer varible) but as the actual
data objet 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.
3. Some compilers check the format string and will
generate an error without
the proper number and type of arguments for things
like printf(...) and scanf(...).
2007-02-26, 7936👍, 0💬
Popular Posts:
What is application domain? Explain. An application domain is the CLR equivalent of an operation sys...
Do You Know the Book "JUnit in Action"? You should know this book. It received some good reviews. Ti...
What is Service Oriented architecture? “Services” are components which expose well defined interface...
How does multi-threading take place on a computer with a single CPU? The operating system's task sch...
.NET INTERVIEW QUESTIONS - How can you avoid deadlock in threading? A good and careful planning can ...