Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I need help with determining the output of these C++ statements. Please explain

ID: 3881427 • Letter: I

Question

I need help with determining the output of these C++ statements.

Please explain your solution

float a = 9.8, b = 7.2, *ptr1, *ptr2;

short c = 13, *ptr3;

ptr1 = &a;

ptr2 = &b;

ptr3 = &c;

If the following statements, along with the five statements given above, are executed as part of complete programs, what will be printed? In any of the problems, if you think an error message will be produced, explain why.

(a) int j;

j = ptr3 - ptr1;

cout << j;

(b) short j;

j = ptr2 - ptr1;

cout << j;

(c) ptr2 = 3*ptr1;

cout << ptr2;

(d) cout << ptr2 - 1;

(e) cout << *(ptr2 - 1);

(f) cout << (int)ptr3 - (int)ptr1;

Explanation / Answer

a. error will be produced because ptr3 is of type short int and ptr1 is of type pointer float so subtraction cannot be performed between them.

b. output is 1 it displays the difference between the adreesses the consecutive floats are assigned one after another.

c. error as 3 is of type int and ptr1 is a float pointer multiplication cannot be performed.

d. output is random it varies according to address which is alloted to variable

e. the output is 9.8 as the address of ptr1 is ptr2-1 and * referes to the value at that address

f. error as pointers of short int and float cannot be converted to int

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote