利用指针法把一行字符串中的数字都找出来,输出这些数字,以及它们的和
时间: 2024-03-19 08:45:40 浏览: 18
好的,这是一个经典的指针题目,下面是示例代码:
```c
#include <stdio.h>
int main() {
char str[100];
int sum = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin); // 使用fgets函数读取输入的字符串,最多读取100个字符
char *p = str; // 定义指针p,指向字符串的第一个字符
while (*p != '\0') { // 判断指针是否指向了字符串的结尾
if (*p >= '0' && *p <= '9') { // 判断当前字符是否为数字
printf("%c", *p); // 输出当前字符
sum += *p - '0'; // 将当前字符转换为数字并累加到sum中
}
p++; // 将指针p指向下一个字符
}
printf("\n数字的和为:%d\n", sum);
return 0;
}
```
示例输出:
```
请输入一个字符串:hello 123 world 456
123456
数字的和为:21
```
注:以上代码中使用了fgets函数读取用户输入的字符串,fgets函数会读取用户输入的换行符,如果不需要可以使用如下代码去掉:
```c
char *pos;
if ((pos = strchr(str, '\n')) != NULL) {
*pos = '\0';
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)