c语言字符串入栈函数函数怎么写
时间: 2023-12-04 20:01:50 浏览: 92
以下是一个简单的 C 语言字符串入栈函数的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STACK_SIZE 100
typedef struct {
char data[MAX_STACK_SIZE];
int top;
} Stack;
void push(Stack* stack, char c) {
if (stack->top >= MAX_STACK_SIZE) {
printf("Error: stack overflow");
exit(1);
}
stack->data[stack->top++] = c;
}
int main() {
Stack stack = { .top = 0 };
char str[] = "hello world";
int len = strlen(str);
for (int i = 0; i < len; i++) {
push(&stack, str[i]);
}
while (stack.top > 0) {
putchar(stack.data[--stack.top]);
}
return 0;
}
```
这个示例中,我们定义了一个名为 `Stack` 的结构体,它包含一个字符数组 `data` 和一个整数 `top`。 `top` 表示栈顶位置,`data` 数组用于存储栈中的元素。
`push()` 函数用于将字符入栈,如果栈已满则会输出错误信息并退出程序。在 `main()` 函数中,我们定义了一个字符串 `str`,然后遍历字符串的每个字符,依次将它们入栈。最后,我们从栈中取出每个字符并输出,以实现字符串反转的效果。
注意:这只是一个简单的示例,实际应用中需要根据具体情况进行修改。
阅读全文