用C语言,将字符串"v1.12.123"中的数字分别输出为整形
时间: 2023-05-19 16:06:26 浏览: 99
可以使用C语言中的字符串处理函数和类型转换函数来实现这个功能。具体的代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[] = "v1.12.123";
char *p = str;
while (*p) {
if (*p >= '0' && *p <= '9') {
char *q = p;
while (*q >= '0' && *q <= '9') {
q++;
}
char tmp = *q;
*q = '\0';
int num = atoi(p);
printf("%d\n", num);
*q = tmp;
p = q;
} else {
p++;
}
}
return 0;
}
```
这个程序首先定义了一个字符串变量str,然后使用指针p来遍历这个字符串。如果p指向的字符是数字,就使用另一个指针q来找到这个数字的末尾,然后将这个数字转换为整数并输出。最后,将q指向的字符恢复原来的值,继续遍历字符串。
相关问题
用C语言,将带数字与符号的字符串,如"v1.12,123"中,所有的数字分别输出为整形
可以使用C语言中的isdigit()函数来判断字符串中的字符是否为数字,然后使用atoi()函数将数字字符转换为整型。以下是示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[] = "v1.12,123";
int num = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
num = num * 10 + (str[i] - '0');
} else {
if (num != 0) {
printf("%d\n", num);
num = 0;
}
}
}
if (num != 0) {
printf("%d\n", num);
}
return 0;
}
```
输出结果为:
```
1
12
123
```
用C语言,将字符串"v1.12.123"中的数字转换为整形
可以使用C语言中的字符串处理函数和类型转换函数来实现将字符串中的数字转换为整型。以下是一种实现方式:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[] = "v1.12.123";
char *p = str;
while (*p) {
if (*p >= '0' && *p <= '9') {
int num = strtol(p, &p, 10);
printf("%d\n", num);
} else {
p++;
}
}
return 0;
}
```
这段代码中,我们首先定义了一个字符串"v1.12.123",然后使用指针p遍历字符串中的每个字符。如果当前字符是数字,则使用strtol函数将其转换为整型,并将指针p指向下一个字符。如果当前字符不是数字,则直接将指针p指向下一个字符。最终,我们可以得到字符串中所有的数字,并将其打印出来。
阅读全文