Exit status -1
Yuvikiit (0)

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;
}

You are viewing a single comment. View All
mwilki7 (277)

@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'