Вы берете адрес персонажа в своем "векторе", вместо того, чтобы заполнить несколько строк. Эти модификации:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char vector[5][100]; /* five times 100 characters, not just 100 characters */
int i = 0;
int aux = 0;
while (i < 5)
{
scanf("%s", vector[i]); /* notice the & is gone */
i++;
aux+= 1;
}
for (i=0;i<aux;i++)
{
printf("%s\n", vector[i]); /* notice the & is gone */
}
return 0;
}
Что касается бита ctrl-D, вы можете остановить его чтение в конце ввода, но вам придется управлять получением большого количества ввода (поэтому вам, возможно, придется динамически выделять буфер, в который вы " разобрать "вашу строку с scanf
)