아래 코드는 입력값을 계속 누적해서 보여주는(?) 코드인데요
카운터는 제대로 되는데 왜 문자열이 가장 최근에 입력한걸로 통일이 되버리는 걸까요...?
aaaa
를 입력하면
1::aaaa 나오고
다시 bbbb 입력하면
1::bbbb
2::bbbb
다시 cccc입력하면
3::cccc
이렇게 나오네요,....ㅠ
도와주세요
#include <stdio.h>
#include <string.h>
#define MAX_MEMORY 100
char *history_list[MAX_MEMORY];
int history_num;
void show_history();
int main()
{
char input[4096];
while (1){
printf("$");
fgets(input, sizeof(input) - 1, stdin);
input[strlen(input) - 1] = '\0';
history_list[history_num++] = input;
show_history();
}
}
void show_history()
{
int i;
for (i = 0; i<history_num; i++)
{
printf("%4d :: %s\n", i+1, history_list[i]);
}
}