请用指针编程实现:编写函数change(char *s,int *p),将字符串s中的数字字符转换成数字存储到整型数组p中,函数返回转换后的数字的个数。
时间: 2023-06-19 19:10:00 浏览: 63
下面是实现代码:
```c
int change(char *s, int *p)
{
int count = 0;
while (*s != '\0') {
if (*s >= '0' && *s <= '9') {
*p = *s - '0';
p++;
count++;
}
s++;
}
return count;
}
```
其中,`s` 是字符串的指针,`p` 是整型数组的指针。`count` 记录转换后的数字的个数,初始值为 0。使用循环遍历字符串中的每个字符,如果是数字字符,则将其转换成数字存储到整型数组中,同时 `p` 指针向后移动,`count` 值加 1。最后返回 `count` 即可。
相关问题
C语言编写函数change(char*s,int*p),将字符串s中的数字字符转换成数字存储到整型数组p中,函数返回转化后的数字的个数
以下是实现change函数的示例代码:
```c
int change(char* s, int* p) {
int count = 0;
while (*s != '\0') {
if (*s >= '0' && *s <= '9') {
*p++ = *s - '0'; // 将数字字符转换成数字存储到整型数组p中
count++;
}
s++;
}
return count;
}
```
该函数的参数是一个指向字符串s的指针和一个指向整型数组p的指针。函数通过遍历字符串s,将其中的数字字符转换成数字存储到整型数组p中,并返回转化后的数字的个数。
具体实现中,使用while循环遍历字符串s,当遍历到数字字符时,将其转换成数字后存储到整型数组p中,并将数字个数加1。最后返回数字个数count即可。
C语言编程写函数change(char *s,int *p),将字符串s中的数字字符转换成数字存储到整型数组p中,函数返回转换后的数字的个数
下面是一个可能的实现:
```c
#include <ctype.h>
int change(char *s, int *p) {
int count = 0;
while (*s) {
if (isdigit(*s)) {
*p++ = *s - '0';
count++;
}
s++;
}
return count;
}
```
函数接收一个指向字符串的指针和一个指向整型数组的指针,遍历字符串中的每个字符,如果是数字字符,则将其转换为整型并存储到整型数组中,同时计数器加1。最后返回数字字符的个数。
注意,这里使用了 `isdigit()` 函数来判断是否是数字字符。如果字符串中可能包含非数字字符,需要特别处理。另外,这里没有考虑整型数组 `p` 的长度是否足够存储所有的数字,需要在调用该函数前确保数组长度足够。