在数组中存储字符串

时间:2017-04-20 17:05:48

标签: c

我用char * is []来创建字符串数组。我已经要求用户输入字符串。我不知道我哪里出错了。它显示出分段错误 #include

#include <string.h>
#include <stdlib.h>

int main()
{
    int count=0,p;
    char *is[100];
    for(int i=0;i<8;i++)
    {
        p=0;
        scanf("%s",is[i]);
        p++;
    }
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
        {
            if(strcmp(is[i],sis[4+j])==0)
            {
                count=count+1;
            }
        }
    }
    if(count>=2)
    {
        printf("similar");
    }
    else{
        printf("not similar");
    }


}

1 个答案:

答案 0 :(得分:2)

char *is[100];声明了一个char指针数组。您需要为is元素分配内存以存储字符串。

for(int i=0;i<8;i++)
{
    is[i] = malloc(20)  //Assuming each array can hold only 20 chars including null character.
    scanf("%s",is[i]);
}