C语言编程写函数change(char *s,int *p),将字符串s中的数字字符转换成数字存储到整型数组p中,函数返回转换后的数字的个数
时间: 2024-05-05 12:20:53 浏览: 145
下面是一个可能的实现:
```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` 的长度是否足够存储所有的数字,需要在调用该函数前确保数组长度足够。
相关问题
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*a,int*p),将字符串s中的数字字符转换程数字存储到整型数组p中,函数返回转换后的数字个数
好的,我明白了。以下是函数的具体实现:
```c
int change(char* s, int* p) {
int count = 0; // 记录转换后的数字个数
char* ptr = s; // 指向字符串的指针
while (*ptr != '\0') { // 遍历整个字符串
if (*ptr >= '0' && *ptr <= '9') { // 判断是否为数字字符
*p = *ptr - '0'; // 转换为数字并存储到整型数组中
p++; // 指针后移
count++; // 数字个数加1
}
ptr++; // 指针后移
}
return count; // 返回转换后的数字个数
}
```
这个函数的作用是将字符串 `s` 中的数字字符转换为数字并存储到整型数组 `p` 中,然后返回转换后的数字个数。函数中使用了指针来遍历字符串和整型数组,并且使用了指针运算来实现指针的后移和数组元素的存储。
阅读全文