编写函数 int f(char str[])要求将字符串中所有数字字符识别出来,然后构造成一个数返回
时间: 2024-05-07 11:20:55 浏览: 13
以下是实现该函数的代码:
```c
#include <stdio.h>
int f(char str[]) {
int num = 0;
int i = 0;
while (str[i] != '\0') {
if (str[i] >= '0' && str[i] <= '9') {
num = num * 10 + (str[i] - '0');
}
i++;
}
return num;
}
int main() {
char str[] = "abc123def456";
int num = f(str);
printf("%d\n", num);
return 0;
}
```
在上述代码中,函数 `f` 接收一个字符串作为参数,然后遍历字符串中的每个字符,如果该字符是数字字符,则将其转换为对应的数值,并将其加入到 `num` 变量中。最终,函数返回构造出的数值。
在 `main` 函数中,我们定义了一个字符串 `str`,并调用函数 `f` 来识别其中的数字字符并构造出对应的数值。该程序的输出结果为:
```
123456
```
相关问题
编写一个函数int strlength(char *str)求字符串str的长度
好的,这是一个简单的求字符串长度的函数实现:
```c
int strlength(char *str) {
int len = 0;
while (*str) {
len++;
str++;
}
return len;
}
```
这个函数的原理很简单,就是利用指针遍历字符串,计算字符的个数,直到遇到字符串的结尾符`\0`。
C语言2. 编写一个函数把字符串中的数字字符转换成数字求和并把和值返回。
以下是将字符串中的数字字符转换成数字求和的C语言函数:
```c
int sum_of_digits(char* str) {
int sum = 0;
char c;
while (*str) {
c = *str++;
if (c >= '0' && c <= '9') {
sum += c - '0';
}
}
return sum;
}
```
这个函数接受一个字符串作为输入参数,遍历字符串中的每一个字符,如果字符是数字字符,则将其转换成数字并将其添加到总和中。最后返回总和。