Which function does not return the pointer correctly? The code below calls the getline member function of cin to read a line of characters from cin into an array of characters up to a certain limit specified as the second parameter of the call. Your job is to find out if the pointer returned from the function can still be used by the caller of the function to access the memory that is pointed to by the pointer. char *getName() { char buf[80]; cout << "Enter your name: "; cin.getline(buf, 80); return buf;} char *getName() { char buf[80]; cout << "Enter your name: "; cin.getline(buf, 80); return buf;} char *getName() { char *buf = new char[80]; cout << "Enter your name: "; cin.getline(buf, 80); return buf; } None of these char getName(char buf, int size) { ** cout << "Enter your name: "; cin.getline(buf, size); return buf; }

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter10: Pointers
Section: Chapter Questions
Problem 4PP
icon
Related questions
Question

Which function does not return the pointer correctly?
The code below calls the getline member function of cin to read a line of characters from cin into an array of characters up to a certain limit specified as the second parameter of the call.
Your job is to find out if the pointer returned from the function can still be used by the caller of the function to access the memory that is pointed to by the pointer.
char *getName() { char buf[80]; cout << "Enter your name: "; cin.getline(buf, 80); return buf;}

char *getName() {
char buf[80];
cout << "Enter your name: ";
cin.getline(buf, 80); return buf;}

char *getName() {
char *buf = new char[80];
cout << "Enter your name: ";
cin.getline(buf, 80); return buf;
}

None of these

char getName(char buf, int size) { **
cout << "Enter your name: ";
cin.getline(buf, size);
return buf;
}

Expert Solution
Step 1

For the given question the correct answer is option 2.

The screenshot for the output of option 1 is as follows:

Computer Science homework question answer, step 1, image 1

As we can see, we are unable to access the memory pointed to by the the pointer and hence getting value null. This is because we just declared a character array and not allocated any memory space to it for storing the name.

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Arrays
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning