C语言编写,9 135 46怎么提取数字
时间: 2024-12-20 12:31:45 浏览: 8
在C语言中,如果你想从字符串"9 135 46"这样的文本中提取数字,你可以使用`sscanf()`函数配合数组来完成这个任务,因为该函数可以从格式化的字符串中按照指定的格式读取并储存到指定的位置。这里我们假设你想要的是连续的数字。
下面是一个简单的例子,创建了一个字符数组来存储提取的数字:
```c
#include <stdio.h>
#include <string.h>
#define MAX_DIGITS 3 // 假设最多有3位数字
char digits[MAX_DIGITS + 1]; // 包含空字符'\0'的空间
int main() {
char str[] = "9 135 46"; // 待处理的字符串
int count = sscanf(str, "%d %d %d", &digits[0], &digits[1], &digits[2]); // 提取数字
if (count == 3) {
printf("提取到的数字依次是: %d, %d, %d\n", digits[0], digits[1], digits[2]);
} else {
printf("无法全部提取到3个数字,实际提取了%d个。\n", count);
}
return 0;
}
```
在这个例子中,`sscanf()`尝试将字符串中的第一个`%d`解析为第一个数字,并将其存储在`&digits[0]`指向的地方;第二个和第三个`%d`做同样的事情。如果字符串中少于3个数字,则`count`会小于3,说明没有完全提取完。
阅读全文