用c语言写一个打印栈顶元素的方法
时间: 2024-05-09 21:22:05 浏览: 2
好的,以下是用C语言实现一个打印栈顶元素的方法:
```
#include <stdio.h>
#define MAXSIZE 100
int stack[MAXSIZE]; // 定义一个栈
int top = -1; // 初始化栈顶指针
void push(int element) {
if (top < MAXSIZE-1) {
top++;
stack[top] = element;
} else {
printf("Stack is full. Cannot push element.\n");
}
}
int pop() {
if (top >= 0) {
int element = stack[top];
top--;
return element;
} else {
printf("Stack is empty. Cannot pop element.\n");
return -1; // 没有元素返回 -1
}
}
void print_top() {
if (top >= 0) {
printf("The top element is %d.\n", stack[top]);
} else {
printf("Stack is empty. No top element.\n");
}
}
int main() {
push(5);
push(10);
push(15);
print_top(); // 输出 "The top element is 15."
pop();
print_top(); // 输出 "The top element is 10."
pop();
pop();
print_top(); // 输出 "Stack is empty. No top element."
return 0;
}
```
该程序定义了一个数组作为栈的基本数据结构,同时提供了 push(), pop() 和 print_top() 三个方法。其中,push() 方法向栈中添加元素,pop() 方法从栈中弹出元素,print_top() 方法打印栈顶元素。
运行 main() 函数,程序输出:
The top element is 15.
The top element is 10.
Stack is empty. No top element.
这说明该栈的实现是正确的,print_top() 方法能够正确输出栈顶元素。