1.init()时一定要记得malloc()申请新的内存空间(如果不申请内存空间程序返回的值是有内存里的脏数据,把人看得云里雾里找不到问题出在哪)
2.带头结点单链表尾插法要注意:若LNode *p = L->next; 循环条件是while(p != NULL){p = p->next;},那么最后的p是NULL,此时在p(NULL)后插一个结点会插在内存中不知道哪个地方去了。应该改成这样:LNode *p = L; while(p->next != NULL){p = p->next;}
如下图这样写,也会包含判断L->next 是否为空。
3.在循环上,while(p!= NULL)与while(p)一样,while(i--)与while(i>0)一样。
4.编程习惯:switch(str){case 'a': xxx; break; },每个case后面不要忘记加break;
5.编程习惯:if+else if、if(){} + if(){} 要注意区别
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步