西窗的雨 2018-12-28 11:42 采纳率: 0%
浏览 348

这个代码为什么运行不出来(模糊查询)?求大神指教

void Svaguename(SqList &L)

{

typedef struct
{
    char son[50];
}Element;

int i,j,n,m,k=0,l;
char key[50],str[50];
printf("请输入要查找的书名:");
getchar();
scanf("%s",&key);
printf("ISBN              书名                     出版社         价格\n");

for(i=0;i<L.length;i++)
{
    int N1,N2=0;     //N1为str的长度 N2为str连续子串的个数
    N1=strlen(L.elem[i].name);
    for(n=1;n<=N1;n++)     //计算连续子串的个数
     N2+=n;

    strcpy(str,L.elem[i].name); 
    Element *b=(Element *)malloc(N2*sizeof(Element));  //申请与子串的个数相同的空间 
    for(n=1;n<=N1;n++)              //n控制子字符串的长度
    {   
        l=0;            
        while(1)       //while循环内为给一个子字符串数组赋值
        {   
            m=l;                                  
            for(j=0;j<=n;j++)           //j控制赋值
            {
                b[k].son[j]=str[m];       
                m++;
            }
            k++;
            l++;
            if(m==N1)
                break;
        }
    }

    for(n=0;n<N2;n++)    //挨个比对
        if(strcmp(b[n].son,key)==0)  
           printf("%-17s %-24s %-14s %.1f\n",L.elem[i].no,L.elem[i].name,L.elem[i].publish,L.elem[i].price);
    free(b);
}

}

  • 写回答

1条回答 默认 最新

  • 飘零碎步 2018-12-28 04:01
    关注

    字符串是否包含另一个字符串的方法试一下

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?