------------------------------------------------------------
1、给定一个头节点为handler的单向不循环链表,返回链表的中间节点。如果有两个中间节点,则返回第二个中间节点。
struct llist_node {int val;struct llist_node *next;
};struct llist_node *func(struct llist_node *handler)
{struct llist_node *slow = handler;struct llist_node *fast = handler;while (fast && fast->next) {slow = slow->next;fast = fast->next->next;}return slow;
}
2、给定一个头结点为handler的单向不循环链表,输出该链表中倒数第k个节点。
struct llist_node {int val;struct llist_node *next;
};struct llist_node *func(struct llist_node *handler, int k)
{struct llist_node *slow = handler;struct llist_node *fast = handler;while (k--) {if (!fast)return NULL;fast = fast->next;}while (fast) {slow = slow->next;fast = fast->next;}return slow;
}
------------------------------------------------------------
一、异常处理
在C语言中如何处理异常?
【1】在标准库中
进行返回值判断,判断是否有异常
【2】在系统调用中
有一个全局变量errno,errno的不同值对应不同的出错原因字符串&#x