首页 > 解决方案 > C:使用while循环收集用户输入并存储在数组中

问题描述

我有这个编码项目,我已经坚持了一段时间了。我不太熟悉 C 中的编码,更熟悉 Java。

这是我的代码:

char *array[20];
int linecount = 0;
bool c = true;

array[0] = (char*)malloc(96 *sizeof(char));
// array[0] = "temp";
while(c){
    array[linecount] = (char*)malloc(96 *sizeof(char)); 
    printf("Enter a string: ");
    fgets(array[linecount], sizeof(array[linecount]), stdin);
    if(strcmp(array[linecount], "") == 10) c = false;
    linecount++;
}
for(int i = 0; i < linecount; i++){
    printf("%d %s",i, array[i]);
}
printf("Done");

我坚持的部分是将来自控制台的用户输入存储到字符串数组中。我在 stackoverflow 上查看了很多答案,我发现那里有很多不同的答案,以至于我不知所措。因此,如果您能以最简单的方式回答代码的作用方式和作用,那将对我有很大帮助。

所以我创建了一个固定长度为 20 的指针数组,只是为了开始和一个 while 循环。但是当我运行程序时,它会按照我想要的方式运行。当我在输入中键入任何空格时,它会多次打印“输入字符串:”。

标签: c

解决方案


推荐阅读