Home > Mobile >  Why am I not getting the output from the program. Whenever I run my code it stop after taking the in
Why am I not getting the output from the program. Whenever I run my code it stop after taking the in

Time:01-18

Here is my code I am expecting the output but I am not getting .It stop after taking the input I am expecting the output if i give name Harsh

Your name is Harsh

 #include <iostream>
 #include <cstring>
 using namespace std;
 
 int main() {
     cout << "Enter your name" << endl;
     char *s;
     cin >> s;
     cout << "Your name  is  " << s;
     return 0;
 }

I have also tried with cin.getline(s,100);but still it is not working. So I request to you to solve the problem and give me solution.

CodePudding user response:

Your code has undefined behavior because you are not allocating any memory for s to point at. s is an uninitialized pointer.

Try this instead:

#include <iostream>
using namespace std;

int main(){
    cout << "Enter your name" << endl;
    char s[100];
    cin >> s; // or: cin.getline(s,100);
    cout << "Your name is " << s;
    return 0;
}

Alternatively, you should use std::string instead, eg:

#include <iostream>
#include <string>
using namespace std;

int main(){
    cout << "Enter your name" << endl;
    string s;
    cin >> s; // or: getline(cin,s);
    cout << "Your name is " << s;
    return 0;
}

CodePudding user response:

s in your code is unallocated.

Since it is C we're talking about, you probably don't want to use pointers and memory allocation, and use std::string instead.

#include <iostream>
#include <string>
using namespace std;


int main ()
{
  cout << "Enter your name" << endl;
  string s;  // Instead of dealing with char* allocation and memory issues.
  cin >> s;
  cout << "Your name  is  " << s;
  return 0;
}

CodePudding user response:

you have done it correctly but the problem with output is because of the memory allocation. You have to allocate memory and try to avoid the concept of a pointer in that. Instead Use string s; or char s[50];

  •  Tags:  
  • Related