how to store a user input with spaces in c

C
#include <stdio.h>

int main(){
    char name[20];

    printf("Enter a name : ");
    scanf("%[^\n]%*c", &name);

    printf("the name entered is: %s\n", name);

return 0;
}#include <stdio.h>

int main(){
    char name[20];

    printf("Enter a name : ");
    fgets(name, 20, stdin); // fgets(variable_storing_to, accepted_input_size, stdin)

    printf("the name entered is: %s\n", name);

return 0;
Source

Also in C: