利用栈对两个数据存储并进行操作+-*/运算
1 #include <stdio.h> 2 #include <stdlib.h> 3 #define Max 100 4 5 int *p; 6 int *tos; 7 int *bos; 8 9 /*添加一个数据放到堆栈对顶端*/ 10 void push(int i) 11 { 12 if (p > bos) 13 { 14 printf("堆栈以满\n"); 15 return; 16 } 17 *p = i; 18 p++; 19 } 20 21 /*丛堆栈顶端取出一个数据*/ 22 int pop(void) 23 { 24 p--; 25 if (p < tos) 26 { 27 printf("堆栈下溢\n"); 28 return 0; 29 } 30 return *p; 31 } 32 33 int main() 34 { 35 int a, b; 36 char s[80]; 37 p = (int *)malloc(Max*sizeof(int)); 38 if (!p) 39 { 40 printf("分配内存失败"); 41 exit(1); 42 } 43 tos = p; 44 bos = p + Max - 1; 45 printf("请输入第一个数据:\n"); 46 scanf("%d", &a); 47 push(a); 48