用c语言写出一个判断线性表是否为空,表为空的时候返回ok,否则返回error
时间: 2024-09-27 16:08:55 浏览: 32
在 C 语言中,如果你有一个动态数组或者链表作为线性表的表示,你可以创建一个函数来检查它是否为空。这里是一个简单的示例,假设我们使用链表结构:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node* next;
} Node;
// 函数用于判断链表是否为空
char* checkLinkedList(Node* head) {
if (head == NULL) { // 链表头指针为空,即链表为空
return "ok"; // 返回 ok 表示链表为空
} else {
return "error"; // 非空链表,返回 error
}
}
int main() {
Node* list = NULL; // 创建一个空链表
char* result = checkLinkedList(list);
printf("Result: %s\n", result); // 输出:Result: ok
// 添加节点后,如果再运行此程序,结果会变为 "error"
Node* node1 = malloc(sizeof(Node));
node1->data = 1;
node1->next = NULL;
list = node1;
result = checkLinkedList(list);
printf("Result: %s\n", result); // 输出:Result: error
return 0;
}
```
在这个例子中,`checkLinkedList`函数接收链表的头指针作为参数,并通过比较头指针是否为 `NULL` 来判断链表是否为空。
阅读全文