Reputation: 46
I want to know if there is any way to get a expression as string and evaluate it as mathematical expression?
#include <stdio.h>
#include <conio.h>
void main {
char expression[100];
int answer;
scanf("%s", &expression);
// Let expression = "10+5"
answer = expression
printf("%d", answer);
// Print 15
getch();
}
Is there any libary or built-in function which can help me accomplish this task? I am using Turbo C++ 3.0.
P.S: I can't use modern compiler because it is included in our syllabus.
Upvotes: 0
Views: 510
Reputation: 989
No.
answer = expression
makes no sense. If you intend answer = find_answer(expression)
, and this function find_answer()
is what you really want to know if exists, the answer remains "No.", there is no math-string parser built in to C. You can write it yourself, it's not super hard if you make it simple (only basic operators and two operands, for a start).
EDIT: Question had bug that was fixed, removed parts of answer.
Upvotes: 2