What will happen if the following C++ statement is compiled and executed? int…
20232023
What will happen if the following C++ statement is compiled and executed? int *ptr = NULL; delete ptr;
- A.
The program is not semantically correct
- B.
The program is compiled and executed successfully
- C.
The program gives a compile-time error
- D.
More than one of the above
- E.
None of the above
Attempted by 154 students.
Show answer & explanation
Correct answer: B
In C++, deleting a null pointer is a well-defined operation and does not cause a runtime error. The statement int *ptr = NULL; initializes a pointer to null, and delete ptr; is safe because the delete operator checks for null before attempting to deallocate memory. If the pointer is null, delete does nothing. Therefore, the program compiles and executes successfully without any errors.