Moonquaks 2022-02-17 14:30 采纳率: 66.7%
浏览 40
已结题

while()跳出循环后直接终止程序?

我做的是一个项目管理系统,在按编号删除的时候,我是想如果查不到匹配的编号,就进行模糊搜索。but,当我键入其中一个编号的子串时,按理跳出了循环(确实也跳出了),不过是跳出就直接终止了程序,就是说我后面的代码都没运行呢!


```c
void del(struct Node* list){
    int i;
    char id1[8];
    printf("请输入您想要删除的项目编号(格式:字母+6个数字):\n");
    scanf("%s",id1);
//    getchar();
//    for(i=0;i<7;i++){
//        scanf("%c",&id1[i]);
//    }
//    id1[7]='\0';
    printf("再次确认你所要删除的项目编号是:");
    puts(id1);
    struct Node* pos;
    struct Node* p; 
    pos=list;
    if(list->next==NULL){
        printf("\n链表为空!\n");
        return;
    } 
    else{
        while(strcmp(id1,pos->next->data.id)!=0){
            if(pos->next==NULL){
                break;
            } 
            printf("xixi\n");
            pos=pos->next;
        }
        printf("你怎么不执行这一步??\n");
        p=pos;
        printf("??\n");
        if(strcmp(id1,pos->next->data.id)==0&&pos->next!=NULL){
            printf("\n\t你删除的项目信息为: \n");
            printf("\t项目名称:%s\n",pos->next->data.name );
            printf("\t项目类别:%s\n",pos->next->data.category);
            printf("\t项目编号:");
            for(i=0;i<7;i++){
                printf("%c",pos->next->data.id[i]);
            }
            printf("\n");
//            puts(pos->data.id);
            printf("\t负责人:%s\n",pos->next->data.head);
            printf("\t指导老师:%s\n",pos->next->data.teacher);
            printf("\t成员:");
//            puts(pos->data.players);
            printf("%s\n",pos->next->data.players);
            printf("\t总人数: %d\n",pos->next->data.number);
            p->next=pos->next->next;
            free(pos->next);
            getchar();    
            printf("删除成功!\n");
        }
        else{
            printf("\t没有找到输入的编号信息!\n");
            printf("正在进行模糊搜索......\n");
            printf("模糊搜索找到的信息如下:\n"); 
        }
    }
    return;
}  

运行结果是这样的:

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/079742970546151.png "#left")



咋办?
  • 写回答

2条回答 默认 最新

  • 发飙的恒星 2022-02-17 14:43
    关注

    你这个应该不是正常通过break跳出循环,应该是出异常程序直接中断了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月17日
  • 创建了问题 2月17日

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号