c语言,定义函数,处理一个10进制整数连续加法表达式,计算出结果作为返回值。在这里给出函数被调用进行测试的例子。例如: #include <stdio.h> int fun (char *str); int main() { char str[80]; scanf("%s", str); printf("%d", fun( str ) ); return 0; } /* 请在这里填写答案 */
时间: 2024-01-13 22:04:59 浏览: 117
以下是完整的代码:
```
#include <stdio.h>
int fun(char *str) {
int result = 0;
int num = 0;
char op = '+';
while (*str != '\0') {
if (*str >= '0' && *str <= '9') {
num = num * 10 + (*str - '0');
} else {
if (op == '+') {
result += num;
} else if (op == '-') {
result -= num;
}
num = 0;
op = *str;
}
str++;
}
if (op == '+') {
result += num;
} else if (op == '-') {
result -= num;
}
return result;
}
int main() {
char str[80];
scanf("%s", str);
printf("%d", fun(str));
return 0;
}
```
函数 `fun` 的功能是处理一个 10 进制整数连续加法表达式,并计算出结果作为返回值。函数内部使用了一个循环,遍历整个字符串,使用变量 `num` 记录当前数字,使用变量 `op` 记录当前运算符。当遇到一个非数字字符时,将前面的数字加入到结果中,然后根据当前运算符更新结果和操作数。最后返回计算结果。
在主函数中,首先读入一个字符串,然后调用 `fun` 函数并输出结果。
例如,如果输入字符串 `"1+2+3-4"`,则输出结果为 `2`。
阅读全文