用C语言将下面字符串中的数字提取出来。
时间: 2024-04-16 07:27:04 浏览: 34
你好!可以使用C语言的字符串处理函数和循环来提取字符串中的数字。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void extractNumbers(const char* str) {
int len = strlen(str);
char number[10] = ""; // 假设最大数字长度为10
int numIndex = 0;
for (int i = 0; i < len; i++) {
if (isdigit(str[i])) {
number[numIndex++] = str[i];
} else if (numIndex > 0) {
// 当遇到非数字字符时,如果之前已经提取到数字,则打印并清空number数组
number[numIndex] = '\0'; // 添加字符串结束符
printf("%s\n", number);
numIndex = 0;
}
}
// 如果字符串以数字结尾,则打印最后一个数字
if (numIndex > 0) {
number[numIndex] = '\0';
printf("%s\n", number);
}
}
int main() {
const char* str = "abc123def456ghi";
extractNumbers(str);
return 0;
}
```
上述代码通过循环遍历字符串中的每个字符,如果遇到数字字符,则将其添加到`number`数组中,直到遇到非数字字符。当遇到非数字字符时,如果之前已经提取到数字,则打印该数字并清空`number`数组。最后,如果字符串以数字结尾,则打印最后一个数字。
请注意,上述代码仅提取整数型数字,对于小数或其他数字格式可能需要进行适当的修改。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)