输入一个字符串,输出字符串中所有的数字,其中并不是识别到空格算结束。(用字符串解决)C语言
时间: 2024-10-20 21:12:22 浏览: 46
在C语言中,如果你想要从字符串中提取所有的连续数字字符而不仅仅是整数,可以遍历字符串,并通过检查每个字符是否为数字来实现。这里是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h> // 包含用于检查字符类型的头文件
void extract_digits(const char *str) {
while (*str != '\0') { // 当遇到字符串结束符'\0'时停止
if (isdigit(*str)) { // 检查当前字符是否为数字
printf("%d", *str - '0'); // 输出数字,注意需要减去'0'将字符转换为数值
}
str++; // 移动指针到下一个字符
}
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 获取包含空格的输入
// 移除输入字符串末尾的换行符
size_t len = strlen(input);
input[len - 1] = '\0';
extract_digits(input);
printf("\n");
return 0;
}
```
这个程序会逐个读取字符串中的每个字符,如果是数字,就输出其ASCII值减去'0',得到实际的数值。如果输入的是非数字字符,它会被忽略。
阅读全文