C-为什么我的多维数组在终止前只允许3个用户输入

问题描述

我需要编写一个程序,从用户那里接收任意数量的单词,然后将这些单词打印出来,并在末尾附加一个“ s”。

循环应一直运行到用户输入一个空字符串(按ENTER键)。我知道我可以在不创建多维数组的情况下做到这一点,但是这样做将有助于我理解下一个项目。

我遇到的问题是,在终止循环之前,它仅允许用户输入3次,我也不明白为什么。

如果我将#define MaxWord更改为20或50,则在终止循环之前只允许用户输入1次。有人可以帮我吗?

#include <stdio.h>
#include <string.h>

#define MAX_WORDS 1
#define MAX_LEN 50

int main()
{

    char input1[MAX_WORDS][MAX_LEN];
    int i = 0;

    do
    {
        printf("Print your word: \n");
        gets(input1[i]);
        if (strlen(input1[i]) != 0)
        {
            printf("Here is your word: %ss\n",input1[i]);
            i++;
        }

    } while (strlen(input1[i]) != 0);

    printf("Complete");

    return 0;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...