用C语言,将字符串"v1.12.123"中的数字转换为整形
时间: 2023-05-19 11:06:24 浏览: 108
可以使用C语言中的字符串处理函数和类型转换函数来实现这个功能。以下是一种可能的实现方式:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[] = "v1.12.123";
char *p = str;
while (*p && !isdigit(*p)) { // 找到第一个数字
p++;
}
int num = atoi(p); // 将数字字符串转换为整数
printf("The number is: %d\n", num);
return 0;
}
```
这个程序首先定义了一个字符串变量`str`,其中包含了一个版本号,然后使用指针`p`遍历字符串,找到第一个数字字符。然后使用`atoi`函数将数字字符串转换为整数,并输出结果。
相关问题
用C语言, 输出字符串"1.12.123"中的所有数字并转换为整形
以下是用C语言输出字符串"1.12.123"中的所有数字并转换为整形的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "1.12.123";
int num = 0;
int i = 0;
while (str[i] != '\0') {
if (str[i] >= '0' && str[i] <= '9') {
num = num * 10 + (str[i] - '0');
} else if (str[i] == '.') {
printf("%d\n", num);
num = 0;
}
i++;
}
printf("%d\n", num);
return 0;
}
```
输出结果为:
```
1
12
123
```
每次遇到小数点时,将之前的数字输出并清零,最后再输出最后一个数字。
用C语言,将字符串"v1.12.123"中的所有数字转换为整形
可以使用C语言中的isdigit()函数来判断字符串中的字符是否为数字,然后使用atoi()函数将数字字符转换为整型。以下是示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[] = "v1.12.123";
int len = strlen(str);
int i, j, num = 0;
for (i = 0; i < len; i++) {
if (isdigit(str[i])) {
num = num * 10 + (str[i] - '0');
for (j = i + 1; j < len && isdigit(str[j]); j++);
i = j - 1;
}
}
printf("The number is: %d\n", num);
return 0;
}
```
输出结果为:
```
The number is: 112123
```
阅读全文