Predict the Output:
int main()
{
int *p=(int *)2000;
scanf("%d",2000);
printf("%d",*p);
return 0;
}

if input is 20 ,what will be print

Answers were Sorted based on User's Feedback



Predict the Output: int main() { int *p=(int *)2000; scanf("%d",2000); printf("%..

Answer / vadivelt

Result:
Ans1.It prints the input given
Ans2.Program Crashes

Why Ans1?
--
1.If the memory 2000 is not a system or read only location
and if it is not a address of other constant varible which
is assigned by the compiler, then the input is stored in
the location. And it will be fetched in the prinf()
statement using *p and ll be printed.

Why Ans2?
--
In this program the pointer *p, does not holds the address
of a variable for which memory is allocated(may be static
or dynamic).Instead blindly it holds the address 2000.

The address may contain.
1.System files(OS) or
2.It may be a location from read only memory.

So, when we are trying to get input value and store it in
the location 2000, using scanf(), it may try to overwrite
the data in system file location or read only memory.

So the program Ultimately has to crash.

Is This Answer Correct ?    7 Yes 0 No

Predict the Output: int main() { int *p=(int *)2000; scanf("%d",2000); printf("%..

Answer / srsabariselvan

20

20 will stored in address 2000

Is This Answer Correct ?    3 Yes 2 No

Post New Answer

More C Code Interview Questions

how to return a multiple value from a function?

5 Answers   Wipro,


What is the hidden bug with the following statement? assert(val++ != 0);

1 Answers  


What is full form of PEPSI

0 Answers  


union u { struct st { int i : 4; int j : 4; int k : 4; int l; }st; int i; }u; main() { u.i = 100; printf("%d, %d, %d",u.i, u.st.i, u.st.l); } a. 4, 4, 0 b. 0, 0, 0 c. 100, 4, 0 d. 40, 4, 0

1 Answers   HCL,


void main() { int const * p=5; printf("%d",++(*p)); }

3 Answers   Infosys, Made Easy, State Bank Of India SBI,


abcdedcba abc cba ab ba a a

2 Answers  


Given an array of size N in which every number is between 1 and N, determine if there are any duplicates in it. You are allowed to destroy the array if you like.

21 Answers   ABC, eBay, Goldman Sachs, Google, HUP, Microsoft, TATA,


void main() { int i=i++,j=j++,k=k++; printf(“%d%d%d”,i,j,k); }

1 Answers  


PROG. TO PRODUCE 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1

1 Answers  


main() { main(); }

1 Answers  


main() { static int var = 5; printf("%d ",var--); if(var) main(); }

1 Answers  


respected sir, i did my MCA in 2013 when i am going to attend to an interview i was asked about my project how will i explain my project could please help me in this and my project title is "Social Networking Site For Social Responsibility"

1 Answers   Genpact, Ozdocs,


Categories