我有一块橡皮 2021-07-06 15:47 采纳率: 33.3%
浏览 15
已采纳

关于C语言链表指针指向的值改变?

执行deleteNode(headNode, local)后,nextNode结点指向的地址值被改变了;其中deleteNode功能是删除headNode中的local信息

struct Node* deleteFileSameInfo(struct Node* headNode)
{
    struct Node* nextNode = headNode->next;
    if (nextNode == NULL)
    {
        return;
    }
    int i;
    struct Node* frontNode = headNode;
    while (frontNode != NULL)
    {
        char* local = frontNode->data.num;
        nextNode = frontNode->next;
        while (nextNode != NULL)
        {
            for (i = 0; i < strlen(local); i++)
            {
                if (local[i] != nextNode->data.num[i])
                {
                    break;
                }
            }
            if (i == strlen(local))
            {
                printf("发现相同工号(%s),", local);
                deleteNode(headNode, local);
            }
            i = 0;
            nextNode = nextNode->next;
        }
        frontNode = frontNode->next;
    }
    return headNode;
}
  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-07-06 15:51
    关注
     for (i = 0; i < strlen(local); i++)
                {
                    if (local[i] != nextNode->data.num[i])
                    {
                        break;
                    }
                }
                if (i == strlen(local))
                {
                    printf("发现相同工号(%s),", local);
                    deleteNode(headNode, local);
                }
    可以改为:
    if(strcmp(local,nextNode->data.num) == 0)
    {
        printf("发现相同工号(%s),", local);
        deleteNode(headNode, local);
    }
    

    中间夹了个deleteNode调用,这个函数是否引起错误,能否保障节点删除后链表的完整性以及当前循环的完整性

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择