Проблема со инициализацией строк
Как мне исправить свой код? Он должен выводить строку, инициализированную первыми n символами строки, введённой пользователем, но он не выводит вовсе ничего. Не могли бы вы мне помочь, пожалуйста?
Вот мой код:
#include <stdlib.h>
int main () {
char str[99];
int n,i;
int len = strlen(str);
printf("Enter a string:");
scanf("%s",str);
printf("enter n:");
scanf("%i",&n);
if (n > len)
{
n= len;
}
char* new_string = malloc(n+1);
for (int i = 0; i < n; i++) {
new_string[i] = str[i];
}
new_string[i]='\0';
printf("String:%s",new_string);
return 0;
}