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]);
}
}
非常感谢你的帮助!
答案 0 :(得分:1)
for(i=0;i<n;i++)
{
if(fgets(text,50,stdin) != NULL) /* Read just 50 character */
{
// Do your stuff
}
}
PS:fgets()
附带换行符
答案 1 :(得分:0)
仍有错误。
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};