我需要将用户的输入存储到字符串数组中。
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char *history[10] = {0};
int main (void) {
char input[256];
input = "input";
strcpy(history[0], input);
return (EXIT_SUCCESS);
}
在终端上运行它我得到一个分段错误,在 NetBeans 中我得到 main.c:11: error: incompatible types in assignment。我还尝试转移所有历史以将最新输入存储到第一个位置(历史 [0])。
history[9] = history[8];
history[8] = history[7];
history[7] = history[6];
history[6] = history[5];
history[5] = history[4];
history[4] = history[3];
history[3] = history[2];
history[2] = history[1];
history[1] = history[0];
history[0] = input;
但这会导致这样的输出。
如果输入是“输入”
历史 0:输入历史 1:空等。
如果然后输入是“新”
历史 0:新历史 1:新历史 2:空等。
每次输入新输入时,指向字符串的指针都会移位,但只会将最新值保存在历史数组中。