diff --git a/rpn.c b/rpn.c
--- a/rpn.c
+++ b/rpn.c
@@ -11,6 +11,7 @@ double val;
extern double pop(void);
extern void push(double);
+extern void clear(void);
extern int getsym(void);
@@ -53,6 +54,9 @@ int main(void)
case 'd':
pop();
break;
+ case 'C':
+ clear();
+ break;
default:
fprintf(stderr, "Unknown '%c'\n", sym);
return 1;
diff --git a/stack.c b/stack.c
--- a/stack.c
+++ b/stack.c
@@ -19,3 +19,8 @@ double pop(void)
{
return stack[top--];
}
+
+void clear(void)
+{
+ top = -1;
+}
syntax highlighted by Code2HTML, v. 0.9.1