seraphirm 2021-05-20 19:37 采纳率: 50%
浏览 22

字符数组保留字符去掉数字

这个代码,执行下来是不对的,怎么改呀?

#include <iostream>
#include <string.h>
char *Getstr(char str[],char str1[]);

int main()
{
	char str[100];
	char str1[100];
	gets_s(str);
	for (int i = 0; i < strlen(str); i++)
	{
		printf("%c", *(Getstr(str,str1)+i));
	}
	return 0;
}

char *Getstr(char str[],char str1[] )
{
	char *p1=str;
	char *p2 = str1;
	for (int i = 0; str[i] != '\0'; i++)
	{
		if (*p1 >= '0' && *p1 <= '9')
			break;
		else 
			str1[i]=*(p1+i);
	}
	return p2;
}
  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-05-20 19:50
    关注

    供参考:

    #include<stdio.h>
    #include <iostream>
    #include <string.h>
    char *Getstr(char str[],char str1[]);
    int main()
    {
    	char str[100];
    	char str1[100];
    	gets_s(str);
            puts_s(Getstr(str,str1));
           
    	return 0;
    }
    char *Getstr(char str[],char str1[] )
    {
            int i,j;
    	for (i = 0,j=0; str[i] != '\0'; i++)
    	{
    		if (str[i] >= '0' && str[i] <= '9')
    			continue;//break;
                    str1[j++]=str[i];
    	}
            str1[j]='\0';
    	return str1;
    }
    评论

报告相同问题?