Language: C

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAX 1000
int top,S[1000];

initialize()
{
	top=0;
}
isEmpty()
{
	return top == 0;
}
isFull()
{
	return top >= MAX-1;
}
int push(int x)
{
	if isFull()
		printf("error!\n");
	int x;
	S[++top] = x;

}
void pop()
{
	if isEmpty()
	printf("error!\n");
	top--;
	return S[top+1]
}

int main()
{
	int i,a,b;
	char s[100];
	while(scanf("%s",s) != EOF)
	{
		if(s[0] =='+')
		{
			a= pop();
			b= pop();
			push(a+b);
		}
		else if(s[0] =='-')
		{
			a= pop();
			b= pop();
			push(a-b);
		}
		else if(s[0] =='*')
		{
			a= pop();
			b= pop();
			push(a*b);
		}
		else
		{
			push(atoi(i));
		}
	}
	
	printf("%d\n",pop());
	
	return 0;
}

Compiler output:
main.c:8:1: error: return type defaults to 'int' [-Wimplicit-int]
    8 | initialize()
      | ^~~~~~~~~~
main.c:12:1: error: return type defaults to 'int' [-Wimplicit-int]
   12 | isEmpty()
      | ^~~~~~~
main.c:16:1: error: return type defaults to 'int' [-Wimplicit-int]
   16 | isFull()
      | ^~~~~~
main.c: In function 'push':
main.c:22:12: error: expected '(' before 'isFull'
   22 |         if isFull()
      |            ^~~~~~
      |            (
main.c:24:13: error: 'x' redeclared as different kind of symbol
   24 |         int x;
      |             ^
main.c:20:14: note: previous definition of 'x' with type 'int'
   20 | int push(int x)
      |          ~~~~^
main.c: In function 'pop':
main.c:30:12: error: expected '(' before 'isEmpty'
   30 |         if isEmpty()
      |            ^~~~~~~
      |            (
main.c:33:17: error: 'return' with a value, in function returning void [-Wreturn-mismatch]
   33 |         return S[top+1]
      |                ~^~~~~~~
main.c:28:6: note: declared here
   28 | void pop()
      |      ^~~
main.c:33:24: error: expected ';' before '}' token
   33 |         return S[top+1]
      |                        ^
      |                        ;
   34 | }
      | ~                       
main.c: In function 'main':
main.c:44:26: error: void value not ignored as it ought to be
   44 |                         a= pop();
      |                          ^
main.c:45:26: error: void value not ignored as it ought to be
   45 |                         b= pop();
      |                          ^
main.c:50:26: error: void value not ignored as it ought to be
   50 |                         a= pop();
      |                          ^
main.c:51:26: error: void value not ignored as it ought to be
   51 |                         b= pop();
      |                          ^
main.c:56:26: error: void value not ignored as it ought to be
   56 |                         a= pop();
      |                          ^
main.c:57:26: error: void value not ignored as it ought to be
   57 |                         b= pop();
      |                          ^
main.c:62:35: error: passing argument 1 of 'atoi' makes pointer from integer without a cast [-Wint-conversion]
   62 |                         push(atoi(i));
      |                                   ^
      |                                   |
      |                                   int
In file included from main.c:2:
/usr/include/stdlib.h:105:30: note: expected 'const char *' but argument is of type 'int'
  105 | extern int atoi (const char *__nptr)
      |                  ~~~~~~~~~~~~^~~~~~
main.c:66:23: error: invalid use of void expression
   66 |         printf("%d\n",pop());
      |                       ^~~~~