Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


int main()
{
int *p=new int;
*p=10;
del p;
cout<<*p;
*p= 60;
cout<<*p;
}
what will be the output & why?

Answers were Sorted based on User's Feedback



int main() { int *p=new int; *p=10; del p; cout<<*p; ..

Answer / sethuu

First output will print some garbage value because you
delete the object p and the you print.

The second one will print value 60.

Is This Answer Correct ?    11 Yes 3 No

int main() { int *p=new int; *p=10; del p; cout<<*p; ..

Answer / jaroosh

There will be an error because its "del" instead of "delete".
In this particular program, you might actually get away with
using p after delete, but lets look what happens here :

int *p=new int;
*p=10;
cout << "ADDRESS OF P is " << p << endl;
delete p;
int * x= new int(3);
cout << "ADDRESS OF X=" << *x << " is " << x << endl;
*p = 10; //We think we got away with deleting p so why not
//still use it!
cout << "VALUE OF X : " << *x; //Here is why...

now, though its basically a policy of compiler, here is what
probably WILL happen in the output (memory addresses are
exemplary):
ADDRESS OF P is 0x272740
ADDRESS OF X=3 is 0x272740
VALUE OF X : 10
Now this is totally NOT what we would like our program to
do, and this is because though delete WILL mostly call
objects destructors and sometimes even clear memory, but p
is STILL pointing to that location, to which compiler
assumes it is safe to allocate variable x!
So now we end up having ONE memory storage and two pointers
p and x pointing to it.
This is why though it will not crash your compilation and
probably you can get away with no runtime errors, this leads
to serious troubles and as a rule NEVER use pointers after
you deleted their storage.

Is This Answer Correct ?    7 Yes 1 No

int main() { int *p=new int; *p=10; del p; cout<<*p; ..

Answer / hemang

There will be error because del is used instead of delete. in c++ delete is the keyword not del. delete is used to delete an object.

So program will not run....

Is This Answer Correct ?    6 Yes 0 No

int main() { int *p=new int; *p=10; del p; cout<<*p; ..

Answer / anu

I think error will come bcoz memory allocated to *P is
already deleted d it will point to nowhere now....

Is This Answer Correct ?    3 Yes 5 No

Post New Answer

More C Interview Questions

What is strcmp in c?

0 Answers  


What are the __date__ and __time__ preprocessor commands?

0 Answers  


what is the difference between exit() and _exit() functions?

2 Answers  


Write a program for finding factorial of a number.

0 Answers   Tech Mahindra,


A B C D E F G F E D C B A A B C D E F F E D C B A A B C D E E D C B A A B C D D C B A A B C C B A A B B A A A

2 Answers  


All technical questions

0 Answers   TCS,


What is a structure in c language. how to initialise a structure in c?

0 Answers  


What does sizeof function do?

0 Answers  


52.write a “Hello World” program in “c” without using a semicolon? 53.Give a method to count the number of ones in a 32 bit number? 54.write a program that print itself even if the source file is deleted? 55.Given an unsigned integer, find if the number is power of 2?

25 Answers   Datamatics, Solartis, TCS, ThinkBox, Trine,


What are structure types in C?

0 Answers  


Write a code to achieve inter processor communication (mutual exclusion implementation pseudo code)?

0 Answers  


Why dont c comments nest?

0 Answers  


Categories