Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C中存储一组字符串?_C_String - Fatal编程技术网

如何在C中存储一组字符串?

如何在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

在这个问题中,必须存储长度不超过80的n个字符串

Gets函数没有使用第一个字符串,因为我认为问题在于n之后的新行。我也试过81岁的福格特斯尼扎,但还是一样

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);