Language: C++

include <stdio.h>
#include <stdlib.h>
#define STACK_MAX  20               /* スタックサイズ */
#define STACK_OK   0x8000           /* スタック成功を表すデータ */
#define STACK_FULL STACK_OK + 1     /* スタックサイズを超えたときのデータ */
#define STACK_END  STACK_OK + 2     /* スタックの終わりを表すデータ */

int     push(int);          /* スタックにデータを積む関数 */
int     pop(void);          /* スタックからデータを取り出す関数 */

int     stack[STACK_MAX];   /* スタック領域 [0] - [19] */
int     stack_pointer = 0;  /* スタックポインタ */
/*------------------------------------------------------------------------*/
int main(void)
{
  char A[100];
  int i;

  for(i=0;scanf("%s",A[i];)!=EOF;i++);

  printf("output:%d\n",res(data));
  return 0;
}
/*------------------------------------------------------------------------*/
int res(char A[]){
  int i=0,x=0,y=0;
  for(i=0;A[i] != '\0';i++){
     switch(A[i]){
        case '+':
            x = pop();
            y = pop();
            push(x+y);
            break;

        case '-':
            x = pop();
            y = pop();
            push(x-y);
            break;
              default :
            push(data[i]);
            break;
        }
    }
  return pop();
}
/*------------------------------------------------------------------------*/
int push(int d)
{
  if(stack_pointer >= STACK_MAX)  /* スタックポインタが最大 */
    return(STACK_FULL);         /* STACK_FULLを返す */
  stack[stack_pointer] = d;       /* スタックにデータ格納 */

  ++stack_pointer;                /* スタックポインタに1加算 */
  return(STACK_OK);               /* STACK_OKを返す */
}
/*------------------------------------------------------------------------*/
int pop(void)
{
  if(stack_pointer == 0)          /* スタックポインタが0 */
      return(STACK_END);          /* STACK_ENDを返す */

  --stack_pointer;                /* スタックポインタから1減算 */
  return(stack[stack_pointer]);   /* スタックのデータを返す */
}
  


Compiler output:
a.cc:1:1: error: 'include' does not name a type
    1 | include <stdio.h>
      | ^~~~~~~
a.cc: In function 'int main()':
a.cc:19:26: error: expected ')' before ';' token
   19 |   for(i=0;scanf("%s",A[i];)!=EOF;i++);
      |                ~         ^
      |                          )
a.cc:19:28: error: expected primary-expression before '!=' token
   19 |   for(i=0;scanf("%s",A[i];)!=EOF;i++);
      |                            ^~
a.cc:19:30: error: 'EOF' was not declared in this scope
   19 |   for(i=0;scanf("%s",A[i];)!=EOF;i++);
      |                              ^~~
a.cc:3:1: note: 'EOF' is defined in header '<cstdio>'; this is probably fixable by adding '#include <cstdio>'
    2 | #include <stdlib.h>
  +++ |+#include <cstdio>
    3 | #define STACK_MAX  20               /* スタックサイズ */
a.cc:19:37: error: expected ';' before ')' token
   19 |   for(i=0;scanf("%s",A[i];)!=EOF;i++);
      |                                     ^
      |                                     ;
a.cc:21:28: error: 'data' was not declared in this scope
   21 |   printf("output:%d\n",res(data));
      |                            ^~~~
a.cc:21:24: error: 'res' was not declared in this scope
   21 |   printf("output:%d\n",res(data));
      |                        ^~~
a.cc:21:3: error: 'printf' was not declared in this scope
   21 |   printf("output:%d\n",res(data));
      |   ^~~~~~
a.cc:21:3: note: 'printf' is defined in header '<cstdio>'; this is probably fixable by adding '#include <cstdio>'
a.cc: In function 'int res(char*)':
a.cc:41:18: error: 'data' was not declared in this scope
   41 |             push(data[i]);
      |                  ^~~~