C 分解char数组,按照,进行分解,并将其转换为int类型,进行+-*/的运算
时间: 2024-03-06 16:46:28 浏览: 14
可以使用字符串处理函数 `strtok` 来实现按照逗号 `,` 进行分解,然后使用 `atoi` 函数将字符串转换为整数,最后进行四则运算。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char str[] = "1,2,3,4,5"; // 假设有5个数字
char *token = strtok(str, ",");
int result = atoi(token);
while (token != NULL) {
token = strtok(NULL, ",");
if (token != NULL) {
int num = atoi(token);
// 进行四则运算
result += num;
result -= num;
result *= num;
result /= num;
}
}
printf("result = %d\n", result);
return 0;
}
```
上述代码中,首先定义了一个字符串 `str`,其中包含了5个数字,并且每个数字之间用逗号 `,` 分隔。然后使用 `strtok` 函数来按照逗号 `,` 分解字符串,每次调用 `strtok` 函数时,第一个参数是待分解的字符串,第二个参数是分隔符,第一次调用时第一个参数为 `str`,后续调用时第一个参数为 `NULL`,表示从上一次分解的位置继续分解。每次分解完成后,`strtok` 函数返回分解出来的字符串,然后使用 `atoi` 函数将字符串转换为整数,最后进行四则运算,将结果保存在变量 `result` 中。最终输出运算结果。
需要注意的是,由于第一个数字已经在外层循环中被处理过了,因此在内层循环中需要判断分解出来的字符串是否为空,如果为空则表示已经分解到了字符串的末尾,不需要再进行任何操作。