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, 8583👍, 0💬
Popular Posts:
What invokes a thread's run() method? After a thread is started, via its start() method of the Threa...
How To Set Up Breakpoints in Debug Mode? - Oracle DBA FAQ - Introduction to Oracle SQL Developer To ...
What is the purpose of Replication ? Replication is way of keeping data synchronized in multiple dat...
How do we assign page specific attributes ? Page attributes are specified using the @Page directive.
How do we host a WCF service in IIS? Note: - The best to know how to host a WCF in IIS is by doing a...