如何在C中存储一组字符串?
在这个问题中,必须存储长度不超过80的n个字符串 Gets函数没有使用第一个字符串,因为我认为问题在于n之后的新行。我也试过81岁的福格特斯尼扎,但还是一样如何在C中存储一组字符串?,c,string,C,String,在这个问题中,必须存储长度不超过80的n个字符串 Gets函数没有使用第一个字符串,因为我认为问题在于n之后的新行。我也试过81岁的福格特斯尼扎,但还是一样 int main() { int n; scanf("%d",&n); while(n--) { char niza[81]; gets(niza); transofrmiraj(niza,x); printf(&qu
int main() {
int n;
scanf("%d",&n);
while(n--)
{
char niza[81];
gets(niza);
transofrmiraj(niza,x);
printf("%s\n",niza);
}
return 0;
}
您的输入可能是:
1
String
当您这样做时:
scanf("%d",&n);
它只是删除1,留下一个空换行符,因为这里可以有:1第一个字符串
将此替换为:
scanf("%d\n",&n);
将导致scanf使用该换行符。您可以更改:
scanf("%d",&n);
致:
这样,它将在读取整数后读取并丢弃换行符。不要使用gets。它非常不受欢迎&甚至C标准也放弃了它,建议不要使用它。使用什么?看。我也尝试过使用scanf,但scanf不能保存一个句子,当它有空格时停止读取字符串,在我的情况下,所有字符串都是C中的sentencesCheck getline函数。我也尝试过使用scanf,但是scanf不能保存一个句子,当它有空格时停止读取字符串,在我的例子中,所有的字符串都是句子。这是关于你的第一个scanf,读取行数。你也可以用scanf来表达句子。扫描%[^\n]s,第行。-现在我明白了。我试过这个和fgets,现在它可以工作了,非常感谢much@HaltStatescanf%[^\n],第行;-不是%[^\n]s,-里面没有。非常感谢所有发表评论的人。我使用scanf%d\n、&n和fgets函数来解决它。
scanf("%d%*c",&n);