我怎么能在C中插入不超过5个句子并且每个句子不超过50个字母

how can i insert no more than 5 sentences and no more than 50 letters per each sentence in C

每句话前需要说出我正在写的句子的序号。从一开始数。 我的意思是:

How many sentences you want to enter [1-5]? 
2
sentence 1: write what you want
sentence 2: here as long as its less then 50 letters

我的问题是我不知道如何限制字母的数量,而不需要全部插入。 如果我写

 for(i=0; i<50; i++)

我需要输入所有 50 个字母,但如果我想要,我只需要能够写出 1 个。 这就是我到目前为止所做的:(请注意,我不需要询问用户他想输入多少个字母)

char text[5][50]={0};
int x=0, i=0, n=0, m=0;

   printf("How many sentences you want to enter [1-5]?\n");
   scanf("%d", &n);
   printf("how many letters [1-50]?\n");
   scanf("%d", &m);

   for (x=1; x<=n; x++)// will print max of 5 sentences
   {
       printf("Sentence %d: \n", x);
        for(i=0; i<m; i++)// will print max of 50 letters
        {
            scanf(" %c", &text[x][i]);
        }
   }

非常感谢您的帮助!

for(i=0;i<n;i++)
{
  if(fgets(text,50,stdin) != NULL) /* Read just 50 character */
  {
     // Do your stuff
   }
}

PS: fgets()带有一个换行符

还是有错误。

for (x=1; x<=n; x++)

x==5时会导致索引错误。 始终 维护您的索引以适应语言。使用

for (x=0; x<n; x++)

人类信息加1

printf("Sentence %d: \n", x + 1);

正如@cmatsuoka 所写,数组应该是

char text[5][51]={0};