Skip to content
Sign upLog in
This post is read-only. Explore Repls and connect with other creators on Community.View Community
The info in this post might be out of date, check out our docs instead. View docs

Exit status -1


This is my code and I am not getting why is it showing exit status -1.
Please answer:)
int main()
int i;
char *c,d,*e;
scanf("%s",c); //to take in the 1st string
scanf("%c",&d);//after string the newline char needs to get in the buffer
scanf("%s",e); //to take in another string
printf("%s\n%s",c,e); //to print both the strings
return 0;


3 years ago
Answered by mwilki7View Answer
You are viewing a single comment. View All

I see, repl formatted your asterisks out.
Try one backwards tick mark ` for inline code, or three for code with multiple lines.

As for your code, when you declare a char pointer:
char *c;

You need space to store stuff in it.
Arrays do this automatically because you tell it from the start how much space it should have like so:
char c[20]; // space for 20 chars already made at compile

To do this with pointers:

char *c; // declare pointer c = (char*)malloc(sizeof(char) * 20); // make space for 20 chars for this pointer scanf("%s", c); // now I can use it, just make sure to limit your input to 20 or // whatever you decide to change 20 to

OR you can steal the space made by an array if you don't want to use malloc

like so:

char *c; char arr[20]; c = arr; // use arr's space for c scanf("%s", c); // read to c
3 years ago