Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

#include #include #include #include using namespace std; void f(int x, int &y); int main(){ char s1[] = zoey; char s2[] = zoey; string s3 =

#include

#include

#include

#include

using namespace std;

void f(int x, int &y);

int main(){

char s1[] = "zoey";

char s2[] = "zoey";

string s3 = s1;

string s4 = s2;

cout << "1. sizeof(s1) = " << sizeof(s1) << endl;

if(s1 == s2) cout << "2. s1 == s2 is true" << endl;

else cout << "2. s1 == s2 is false" << endl;

if(s3 == s4) cout << "3. s3 == s4 is true" << endl;

else cout << "3. s3 == s4 is false" << endl;

array d = {7.5, 2.8, 9.5, 88.7, 1.7};

vector v;

for(size_t i = 0; i < 4; i++){

v.push_back((unsigned long) &d[i+1] - (unsigned long) &d[i]);

}

cout << "4. The values stored in v are ";

for(int value : v){

cout << value << " ";

}

cout << endl;

char * p1 = &s4[0];

*p1 = 'j';

*(&s4[3]) = 's';

cout << "5. s4 = " << s4 << endl;

s4 = s1;

string s5("zoey\0 is awesome");

cout << "6. s5 = " << s5 << endl;

int q[5];

int * p2 = q;

for(int i = 1; i < 6; i++) *(p2 + i - 1) = i * 5;

f(*(q + 1), *(q + 2));

cout << "7. What is the value of (q[1] + q[2])?" << endl;

cout << "8. What is the value of q?" << endl;

cout << "9. p2 = " << (unsigned long) p2 << ", q = " << (unsigned long) q << endl;

cout << "10. p2 = " << p2 << ", q = " << q << endl;

return 0;

}

void f(int x, int &y){

x = -1;

y = -2;

}

An output for the C++ (version 14) program executed above is:

1. sizeof(s1) = 5

2. s1 == s2 is false

3. s3 == s4 is true

4. The values stored in v are 8 8 8 8

5. s4 = joes

6. s5 = zoey

7. What is the value of (q[1] + q[2])?

8. What is the value of q?

9. p2 = 140726181901504, q = 140726181901504

10. p2 = 0x7ffd5e1534c0, q = 0x7ffd5e1534c0

Answer the following 10 questions based on the C++ program and its

output above.

1. In the output for 1 above, why is sizeof(s1) = 5 even though s1 contains only four letters? What is character is being

stored in the fifth byte of s1?

2. In the output for 2 above, why does s1 == s2 result in false when both s1 and s2 contain the same character sequence?

What values are being compared in s1 == s2 to yield a result of false?

3. In the output for 3 above, why does s3 == s4 result in true? What values are being compared in s3 == s4? What

types of strings are s3 and s4, and how are they different than the types of string used for s1 and s2?

4. In the output for 4 above, explain why the values stored in v are all 8? Explain your answers in terms of how the

memory addresses are being stored for d. Assume the starting address of d is 500, then what are the memory addresses

for d[0], d[1], d[2], d[3], and d[4]?

5. Why is joes in the output for 5 above? Explain how the first character in s4 was changed to j. Explain how the last

character in s4 was changed to s.

6. Why did the output for 6 above print s5 = zoey instead of s5 = zoey is awesome?

7. As asked in the output for 7 above, what is the value of (q[1] + q[2])? Is it correct syntax to use *(q[1] + q[2]) to

compute the value of (q[1] + q[1])? Explain why this syntax is correct or why it isnt correct.

8. As asked in the output for 8 above, what is the value of q? Explain what this value represents in terms of what is going

on in the programs memory at runtime.

9. Consider the output for 9 and 10 above. Why do these memory addresses typically change each time this program is

run?

10. Consider the output for 9 and 10 above. The memory addresses that are being display to standard output for 9 above

are using which number system: binary, octal, base-10, or hexadecimal? The memory addresses that are being display

to standard output for 10 above are using which number system: binary, octal, base-10, or hexadecimal?

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle RMAN For Absolute Beginners

Authors: Darl Kuhn

1st Edition

1484207637, 9781484207635

More Books

Students also viewed these Databases questions

Question

internationalization of business?

Answered: 1 week ago