m0_46634941 2020-10-08 16:58 采纳率: 100%
浏览 113
已采纳

求助:第一次用vs2017学c语言,为啥运行不了,在vc++上面还能运行的?

求助大佬,这是怎么回事,要怎么才能解决?下面的显示是这样的:
图片说明

代码原文:

#define  OK    1
#define  ERROR  0
#define  OVERFLOW  -2
#define  STACK_INIT_SIZE  100
#define  STACKINCREMENT  10
typedef struct
{
    int *base;
    int *top;
    int stacksize;
}SqStack;
SqStack S;
int e;
int InitStack()
{
    S.base = (int*)malloc(STACK_INIT_SIZE * sizeof(int));
    if (!S.base)        return OVERFLOW;
    S.top = S.base;
    S.stacksize = STACK_INIT_SIZE;
    return OK;
}
int GetTop()
{
    if (S.top == S.base)        return ERROR;
    e = *(S.top - 1);
    return OK;
}
int Push(int g)
{
    if (S.top - S.base >= S.stacksize)
    {
        S.base = (int *)realloc(S.base,
            (S.stacksize + STACKINCREMENT) * sizeof(int));
        if (!S.base)   return OVERFLOW;
        S.top = S.base + S.stacksize;
        S.stacksize += STACK_INIT_SIZE;
    }
    *S.top++ = g;
    return OK;
}
int Pop()
{
    if (S.top == S.base)        return ERROR;
    e = *--S.top;
    return OK;
}
void main()
{
    int a[10];
    int i, j, k;
    for (i = 0; i < 10; i++)
    {
        scanf("%d", &a[i]);
    }
    InitStack();
    for (j = 0; j < 10; j++)
        Push(a[j]);
    for (k = 10; k > 0; k--)
    {
        Pop();
        printf("%d  ", e);
    }
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-10-08 17:13
    关注

    缺少include头文件
    scanf printf来自 stdio.h
    malloc 来自 stdlib.h

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助