'Printf display only one word

I want to display more than one word using printf, Do I should change first parameter in pritnf?

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>



int main() {
    
    int value;
    printf("How many:"); scanf("%d", &value);

    char* arr1 = new char[value];

    scanf("%s[^\n]", arr1);

    printf("%s", arr1);

    delete [] arr1;
    return 0;
}
c++


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source