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
14

Exit status -1

Yuvikiit
Yuvikiit

This is my code and I am not getting why is it showing exit status -1.
Please answer:)
#include<stdio.h>
#include<string.h>
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;
}

![2019-06-14]
(https://storage.googleapis.com/replit/images/1560491459712_ab9b557011bbd898307349b38c7d2c6d.pn)

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

@Yuvikiit

The only thing that's allocated for pointers up front:
char *c; is the address for the variable 'c' itself.

What 'c' is currently pointing at...who knows. For the sake of deterministic behavior, it may be a good idea to initialize it to NULL

Don't do:

char *c = NULL; scanf("%s", c); // bad! writing to NULL

do:

char *c = NULL; c = (char*)malloc(sizeof(char) * 20); // make space first scanf("%s", c); // now I can write to 'c'
3 years ago