我用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");
}
}
答案 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]);
}