求助,我代码这样写哪里错了:
#include <stdio.h>
#include <stdbool.h>
int main(void) {
char input[1000];
int currentnumber = 0,result = 0;
bool error = false;
char lastOp = '+';
int i = 0;
fgets(input, sizeof(input), stdin);
while(input[i] != '\0') {
if(input[i] >= '0' && input[i] <= '9') {
currentnumber = currentnumber*10 + (input[i] - '0');
}else {
switch(lastOp) {
case '+':
result += currentnumber;
break;
case '-':
result -= currentnumber;
break;
case '*':
result *= currentnumber;
break;
case '/':
if(currentnumber != 0) {
result /= currentnumber;
}else {
error = true;
}
break;
case '=':
printf("%d\n", result);
return 0;
default:
error = true;
break;
}
currentnumber = 0;
lastOp = input[i];
}
if(error) {
printf("Error\n");
return 1;
}
i++;
}
return 0;
}