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, 9073👍, 0💬
Popular Posts:
What will be printed as the result of the operation below: #define swap(a,b) a=a+b;b=a-b;a=a-b; void...
How Do I Run JUnit Tests from Command Window? To run JUnit tests from a command window, you need to ...
What is the purpose of finalization? The purpose of finalization is to give an unreachable object th...
Can event’s have access modifiers ? Event’s are always public as they are meant to serve every one r...
What CLASSPATH Settings Are Needed to Run JUnit? It doesn't matter if you run your JUnit tests from ...