summaryrefslogtreecommitdiffstats
path: root/5/10.c
diff options
context:
space:
mode:
authorSadeep Madurange <smadurange@users.noreply.github.com>2022-01-12 20:57:10 +0800
committerSadeep Madurange <smadurange@users.noreply.github.com>2022-01-12 20:57:10 +0800
commitd2bc1f037901eaf9696f6553b0bf190fbb30d444 (patch)
treecea6159b36d2c3c4101f4e7483ebccd93d1ae6df /5/10.c
parent8f93e6ab37937300f47f424de89c43d988add9ae (diff)
downloadk&r-exercises-d2bc1f037901eaf9696f6553b0bf190fbb30d444.tar.gz
5.10
Diffstat (limited to '5/10.c')
-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;
}