求解如何使用指针完成字符串的提取

求解:任意输入一个字符串,提取该字符中的非字母和数字字符构成新串并返回给调用函数输出。例如:u#%dj173-%

#include "stdio.h"
#include "string.h"

//非字母和数字字符构成新串
int main(){
    char str[100];
    char str2[100]={'\0'};
    int len;
    int i=0;
    int cnt = 0;
    gets(str);
    len = strlen(str);
    for(i=0;i<len;i++){
        if((str[i]<'A' || str[i]>'Z') && (str[i]<'a' || str[i]>'z')){
            str2[cnt++] = str[i];
        }
    }
    puts(str2);
}

 

#include  "stdio.h"
 
void fun(char *str,char *newStr)
{
    while(*str++ != 0)
    {
        if((*str < '0'||*str >'9')&&( *str< 'a' || *str> 'z') && (*str > 'Z'|| *str < 'A'))
            *newStr++ = *str;
    }
}
int  main()
{
    char str[100] = {0};
    char newStr[100] = {0};
    scanf("%s",str);
    fun(str,newStr);
    printf("%s",newStr);
    
    return 0;
}

代码如上,万望采纳。


void fun(char *a,char *b)
{
    while(*a++ != 0)
    {
        if(*a < '0' && *a >'9' && *a < 'a' && *a < 'z' && *a > 'Z' && *a < 'A')
            *b++ = *a;
    }
}

void main()
{
    char a[100] = {0};
    char b[100] = {0};
    scanf("%s",ca);
    fun(a,b);
    printf("%s",b);
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632