我不明白为什么我的屏幕上没有输出这个使用 c 语言数组的简单堆栈实现

#include<stdio.h>
#include<stdlib.h>
struct stack{
    int size;
    int* ptr;
    int top;
};
int isfull(struct stack* a){
    if (a->top==a->size)
    {
        return 1;
    }
    return 0;
}
int isempty(struct stack* a){
     if (a->top == -1)
    {
        return 1;
    }
    else{
        return 0;
        }
}

int main()
{
    struct stack* A;
    A->size = 10;
    A->top = -1;
    A->ptr = (int *)malloc(A->size*sizeof(int));

    if(isempty(A)){
        printf("Stack is empty");
    }

    return 0;
}

输出窗口上应该有“堆栈为空”,但它是空白的,没有编译错误。我坚持了几个小时,请帮我解决这个问题。我试过 getch() 方法也没有帮助。我使用 vscode。谢谢你。

胡言乱语

A 可能不应该是一个指针,你可能想要这个:

int main()
{
  struct stack A;

  A.size = 10;
  A.top = -1;
  A.ptr = malloc(A.size * sizeof(int));

  if (isempty(&A)) {
    printf("Stack is empty");
  }

  return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我正在尝试做一个简单的struct示例,但我不明白为什么它没有在C中打印内容

我不明白这个C ++数组声明

我不明白的这个C程序的输出

我不明白输出!a =(++ c)-(b ++)

不明白为什么我不能释放数组

ord(c) 和 chr(n) 有什么作用,这段代码输出什么,为什么?我主要不明白下面的代码

有人告诉我我的C程序是“硬编码的”,我不明白为什么

为什么这样工作?我不明白为什么我的代码可以在C中工作

以下C代码输出一个分段错误错误,我几乎不明白为什么

我不明白这个用指针编写的 C 程序

我不明白这个代码数组和指针

C编程语言练习2-4:我不明白答案

我不明白如何在C ++ 11中实现乐观并发

我不明白为什么它不是 C# 中要求的打印矩阵

(C# 'Random' 是一个命名空间,但用作变量)我不明白为什么

从数据库中删除的实现不起作用,我不明白为什么

我不明白为什么会给出这个输出?

嵌套的 promise 数组。我不明白什么?

我不明白的 C++ 行为

Javascript-Codepen尝试使用数组更改我的html内容的顺序我的函数正在工作,但效果不太好,我不明白为什么

我不明白$ {}持有什么?这是一些php存储数组的方式吗?

使用带指针的数组实现堆栈的 C 中的分段错误

C 中使用数组、推送、弹出和显示的堆栈实现

C#不允许我将某些变量放在方法的开头。我不明白为什么不

我不明白的简单lambda函数

对于我的 C 作业,我不明白使用重定向来测试程序意味着什么?

我不明白为什么在这个给定的程序中 a 的值没有增加

使用数组实现堆栈

不明白为什么我的函数没有被调用