summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--5/10.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/5/10.c b/5/10.c
index 0b9456d..e24bd91 100644
--- a/5/10.c
+++ b/5/10.c
@@ -12,7 +12,7 @@ int main(int argc, char *argv[]) {
printf("Usage: expr 2 3 4 + *\n");
return 1;
}
-
+
for(i = 0, j = 0, ++argv; --argc > 0 && i < MAXLEN - 1 && j < MAXLEN - 1; argv++) {
s = *argv;
if (isdigit(*s))
@@ -33,19 +33,19 @@ int main(int argc, char *argv[]) {
op1 = val[--i];
switch (op[j++]) {
case '+':
- val[++i] = op1 + op2;
+ val[i++] = op1 + op2;
break;
case '-':
- val[++i] = op1 - op2;
+ val[i++] = op1 - op2;
break;
case '*':
- val[++i] = op1 * op2;
+ val[i++] = op1 * op2;
break;
case '/':
- val[++i] = op1 / op2;
+ val[i++] = op1 / op2;
break;
case '%':
- val[++i] = op1 % op2;
+ val[i++] = op1 % op2;
break;
default:
printf("error: unknown op\n");
@@ -53,7 +53,7 @@ int main(int argc, char *argv[]) {
}
}
- printf("\t%d\n", val[i]);
+ printf("\t%d\n", val[--i]);
return 0;
}