编写函数,对于给定的字符串,用指定字符替换该字符串中的数字字符。 要求使用指针实现。 函数接口定义: void replace_num ( char *s, char c );
时间: 2024-02-12 12:07:23 浏览: 22
好的,我来为您编写这个函数。以下是函数的实现:
```c++
void replace_num(char *s, char c) {
if (!s) {
return;
}
while (*s != '\0') {
if (*s >= '0' && *s <= '9') {
*s = c;
}
s++;
}
}
```
函数的参数说明如下:
- `s`:指向待替换字符串的指针。
- `c`:指定的字符,用于替换数字字符。
函数的实现比较简单,我们只需要遍历字符串中的每个字符,判断其是否为数字字符,如果是,就将其替换为指定的字符,最后返回即可。
相关问题
用c语言实现编写函数,删除字符串中的给定字符
以下是用 C 语言实现删除字符串中给定字符的函数:
```c
#include <stdio.h>
#include <string.h>
void delete_char(char *str, char ch) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] != ch) {
str[j] = str[i];
j++;
}
}
str[j] = '\0';
}
int main() {
char str[100];
char ch;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
str[strcspn(str, "\n")] = '\0';
printf("Enter a character to delete: ");
scanf("%c", &ch);
delete_char(str, ch);
printf("String after deletion: %s\n", str);
return 0;
}
```
这个函数接受一个字符串和一个字符作为输入,然后删除字符串中所有出现的给定字符。该函数使用两个指针 `i` 和 `j` 遍历字符串,当遇到不是给定字符的字符时,将其复制到新字符串中,并将 `j` 指针向前移动。最后,将新字符串的结尾设为 `'\0'` 即可。
C语言编写函数,从给定字符串中查找某指定的字符
可以使用C语言中的字符串处理函数`strchr()`来查找某个指定的字符在给定字符串中的位置。`strchr()`函数的定义如下:
```c
#include <string.h>
char *strchr(const char *s, int c);
```
其中,第一个参数`s`为要查找的字符串,第二个参数`c`为要查找的字符。
`strchr()`函数返回一个指向被查找字符第一次出现的位置的指针,如果该字符不存在于字符串中,则返回`NULL`。
下面是一个示例程序,演示如何使用`strchr()`函数从给定字符串中查找某个指定的字符:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char ch;
char *p;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要查找的字符:");
scanf(" %c", &ch);
p = strchr(str, ch);
if (p == NULL) {
printf("字符 %c 在字符串中不存在。\n", ch);
} else {
printf("字符 %c 在字符串中的位置是:%d\n", ch, p - str);
}
return 0;
}
```
在上面的示例程序中,用户输入一个字符串和要查找的字符,程序使用`strchr()`函数从字符串中查找指定的字符,并输出该字符在字符串中的位置。如果该字符不存在,则输出提示信息。