UbadahJ
UbadahJ

Reputation: 46

Use string as mathematical expression in C

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

Answers (1)

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

Related Questions