Две вещи:
Во-первых, вам нужно завершить строку символом \0
.В противном случае printf приведет к неопределенному поведению.
Во-вторых, обратите внимание, что scanf("%c",..)
, вероятно, будет использовать новую строку, оставленную в буфере, когда пользователь нажимает «enter» после ввода числа (то есть размера).
Запись:
char mystring[size+1] ;
for (i=0; i<size; i++){
printf("Write a letter: \n");
scanf("%c", &letter);
if (i==0 && letter == '\n') {
i--;
continue;
}
mystring[i] = letter;
}
mystring[size] = '\0';
printf("%s",mystring);