C语言指针 删除字符串中数字后输出
时间: 2024-05-03 22:17:28 浏览: 15
可以使用指针遍历字符串,判断每个字符是否为数字,如果不是则输出该字符。
示例代码如下:
```c
#include <stdio.h>
void removeNumber(char* str) {
char* p = str;
while (*p != '\0') {
if (*p < '0' || *p > '9') {
printf("%c", *p);
}
p++;
}
}
int main() {
char str[] = "a1bc2def3g4h5i6j7k8";
removeNumber(str);
return 0;
}
```
输出结果为:
```
abcdefghijklmnop
```
相关问题
c语言实现删掉字符串中数字
可以使用C语言中的字符处理函数逐个遍历字符串中的每个字符,如果是数字则将其删除。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
void delete_digits(char *str) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (!isdigit(str[i])) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
delete_digits(str);
printf("删除数字后的字符串为:%s\n", str);
return 0;
}
```
在上述代码中,函数`delete_digits()`使用两个指针变量`i`和`j`分别指向输入字符串的当前位置和输出字符串的当前位置,遍历输入字符串中的每个字符,如果该字符不是数字,则将其保存到输出字符串中,并将指针`j`向后移动一位。最后在输出字符串的末尾添加一个空字符,表示字符串的结束。
利用c语言指针删除字符串中指定的字符
以下是利用 C 语言指针删除字符串中指定字符的代码实现:
```c
#include<stdio.h>
void delete_char(char* str, char c)
{
char* p = str;
while (*p != '\0')
{
if (*p == c)
{
char* q = p;
while (*q != '\0')
{
*q = *(q + 1);
q++;
}
p--;
}
p++;
}
}
int main()
{
char str[100] = "hello world";
delete_char(str, 'l');
printf("%s", str);
return 0;
}
```
该代码利用指针遍历输入的字符串,并当遇到与指定字符相同的字符时,使用另一个指针 q 将该字符删除。
注意:该代码并没有考虑到删除字符后字符串长度变短的问题。