C语言编写四则运算
#include <stdio、h> //计算器
#include 〈malloc、h>
#define STACK_SIZE ﻩ ﻩ100ﻩ //max size of the stack
#define STACK_INCREMENT 10ﻩ //realloc size
typedef struct FStack //stack of int
{
ﻩ float* base;
float* top;
ﻩ int stacksize;
}FStack;
void Init(FStack* s)
{
ﻩ s—>base = (float*)malloc(STACK_SIZE * sizeof(FStack));
if (!s->base)
ﻩ {
ﻩ ﻩ printf(”overflow!”);
ﻩ ﻩ return;
ﻩ }
ﻩ s->top = s—>base;
ﻩ s->stacksize = STACK_SIZE;
}
bool isEmpty(FStack* s)
{
ﻩ if (s-〉top == s—〉base)
ﻩ {
ﻩ ﻩ return true;
}
ﻩ else
{
ﻩ ﻩ return false;
ﻩ }
}
void Push(FStack* s, float e)
{
if (s-〉top - s—>base >= s-〉stacksize)
ﻩ {
ﻩ ﻩ printf(”stack is full!realloc %d%d , STACK_INCREM
ENT);
ﻩ s—〉base = (float*)realloc(s->base, (s—>stacksize +
sizeof(FStack)));
ﻩ ﻩ if (!s—>base)
ﻩ ﻩ {