#include<stdio.h>
int main()
{
char *string1;
scanf("%s",string1);
printf("\n\nstring 1 is %s\n",string1);
}
whenever I run this program it takes the input, but then stops working. How do I take direct inputs in char pointers in C ?
#include<stdio.h>
int main()
{
char *string1;
scanf("%s",string1);
printf("\n\nstring 1 is %s\n",string1);
}
whenever I run this program it takes the input, but then stops working. How do I take direct inputs in char pointers in C ?
You didn't allocate memory for string1
.
You can do it using malloc()
function this way:
size_t string_size = 16;
char *string1 = (char*)malloc(string_size * sizeof(char));
This, the length of provided string should not exceed 15 characters.
You need to allocate memory for your string.
#include<stdio.h>
int main()
{
char string1[100];
scanf("%s",string1);
printf("\n\nstring 1 is %s\n",string1);
}
PS Strings in C are just arrays of chars, terminated with '\0' (null).