c语言输入一个字符串,提取其中数字
时间: 2024-12-16 07:17:24 浏览: 1
习题输入一个字符串将其中的数字串转换-C语言指针课程资源
在C语言中,你可以使用`scanf`函数从用户输入的字符串中提取数字。这里有一个基本的例子,它会查找并存储连续的数字字符:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_DIGITS 100 // 定义最多能存储的数字长度
int main() {
char input[MAX_DIGITS];
int num = 0; // 初始化结果变量
char current_char;
printf("请输入一个包含数字的字符串: ");
fgets(input, MAX_DIGITS, stdin); // 读取一行字符串,包括空格
for (size_t i = 0; i < strlen(input); i++) {
current_char = input[i]; // 当前处理的字符
if (isdigit(current_char)) { // 如果是数字字符
num = num * 10 + (current_char - '0'); // 更新当前数值
} else if (current_char == '\n') { // 如果遇到换行符结束输入
break;
}
}
printf("提取到的数字是: %d\n", num);
return 0;
}
```
在这个程序中,我们使用了`isdigit`函数检查字符是否为数字,并将每个数字字符转换为其对应的整数值(通过减去ASCII码值'0')。如果遇到非数字字符(如空格或其他非数字字符),我们就停止提取。
阅读全文