c语言程序运行出现里li1.exe已停止工作,是输入关于汽车信息,并进行大致分类,请帮忙看一下,谢谢

c语言程序运行出现里li1.exe已停止工作,是输入关于汽车信息,并进行大致分类,请帮忙看一下,谢谢,第1张

#include "stdioh"

#include "stdlibh"

#include "stringh"

typedef struct car

{

    int id;    

    char price[10];    

    char mileage[10];     

    char size[10];   

    char max_speed[10];

    struct car next;

}car;

car head=NULL;

int length;

int result1[6];

int result2[6];

int result3[6];

int result4[6];

void create()

{

    car p1,p2;

    length=0;

    p1=(car )malloc(sizeof(car));

    p1->id=-1;

    if(head==NULL)

        head=p1;

    printf("请输入车辆的编号,price,mileage,size,max_speed:\n");

    while(1)  

    {

        p2=(car )malloc(sizeof(car));

        scanf("%d %s %s %s %s",&p2->id,p2->price,p2->mileage,p2->size,p2->max_speed); ///&

        if(p2->id==0)//根据表格内容输入则输入‘0’输入都为小写

        {

            printf("链表创建完成!\n");

            break;

        }

        length++; 

        p1->next=p2;

        p2->next=NULL;

        p1=p1->next;

    }

    return ;

}

 

void display()

{

    car p=head->next;

    printf("链表中所有的汽车信息如下:\n");

    while(p!=NULL)

    {

        printf("%d %s %s %s %s\n",p->id,p->price,p->mileage,p->size,p->max_speed);

        p=p->next;

    }

    return ;

}

void search()

{

    

    car p=head->next;

    int i=0;

 int j=0;

 int a=0;

 int rl1,rl2;

     while(p!=NULL)

    {

 

        if(p->mileage=="low"||p->mileage=="0")

        {

            result1[i]=p->id;

   i++;

            } 

  

  if(p->mileage=="high"||p->mileage=="0")

  {

   result2[j]=p->id;

   j++;

  }

        p=p->next;

    }

  rl1=i;

  rl2=j;

  p=head->next;

  

    while(p!=NULL)

    {

       

        if(p->max_speed=="low"||p->max_speed=="0")

        {

   for(i=0;i<rl1;i++)

   {

    if(p->id!=result1[i]&&p->id==i)

    {

        result3[a]=result1[i];

     result1[i]=0;

    }

   }

  }

  a=0;

  if(p->max_speed=="high"||p->max_speed=="0")

        {

   for(j=0;j<rl2;j++)

   {

    if(p->id!=result1[j]&&p->id==j)

    {

        result4[a]=result2[j];

     result2[j]=0;

    }

   }

  }

        p=p->next;

    }

    return ;

}

 

int main(void)

{

 int i,j;

    create();////////////////////

 display();

 search();

 for(i=0;i<6;i++)

  if(result1[i]!=0)

  {

   printf("%d",result1[i]);

  }

  printf("\n");

   for(i=0;i<6;i++)

  if(result2[i]!=0)

  {

   printf("%d",result2[i]);

  }

  printf("\n");

   for(i=0;i<6;i++)

  if(result3[i]!=0)

  {

   printf("%d",result3[i]);

  }

        printf("\n");

   for(i=0;i<6;i++)

  if(result4[i]!=0)

  {

   printf("%d",result4[i]);

  }

 printf("\n");

    

    return 0;

}

输入字符串数组不需要地址符,

注意输入字符不能超过9个字符,输入一共五个,以空格分隔。

li[i]children[0报错为原因:后台传过去的json数据用了阿里的fastjson转换,但是解析list中引用的数据时,jvm会自动将其处理为“循环引用”,因此,也就出现了问题{" r e f " : " ref":" ref":"data[0]children[0]"},数据以引用的方式传给前台,前台却无法解析到那段引用的数据。

循环引用就是:当一个对象包含另一个对象时,fastjson就会把该对象解析成引用。

以上就是关于c语言程序运行出现里li1.exe已停止工作,是输入关于汽车信息,并进行大致分类,请帮忙看一下,谢谢全部的内容,包括:c语言程序运行出现里li1.exe已停止工作,是输入关于汽车信息,并进行大致分类,请帮忙看一下,谢谢、li[i].children[0报错为什么、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/10170888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存