C语言:将输入的字符串转为表达式并计算结果,例如输入9+3*6,输出27
时间: 2024-02-28 14:55:12 浏览: 198
以下是将输入的字符串转为表达式并计算结果的 C 语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main() {
char str[100];
int num1, num2, result;
char operator, *p;
printf("请输入要计算的表达式:");
fgets(str, sizeof(str), stdin);
num1 = strtol(str, &p, 10);
while (isspace(*p)) {
p++;
}
operator = *p;
num2 = strtol(p + 1, &p, 10);
if (operator == '+') {
result = num1 + num2;
} else if (operator == '*') {
result = num1 * num2;
} else {
printf("不支持的运算符!\n");
return 1;
}
printf("计算结果:%d\n", result);
return 0;
}
```
对于输入的字符串,使用`fgets`函数读取整行字符串,并使用`strtol`函数将字符串转换为数值类型。在读取第一个操作数后,使用`isspace`函数跳过空格,再读取运算符和第二个操作数。然后根据运算符进行加法或乘法计算,最后输出结果。在这个例子中,输入`9+3*6`,会输出`27`。
阅读全文