以下程序的功能为:删除字符串中的数字字符后输出.
/* Note:Your choice is C IDE */
#include “stdio.h”
void delnum(char *s)
{int i,j;
for(i=0;i<strlen(s)-1;i++)
if(s[i]>=’0′&&s[i]<=’9′)
strcpy(&s[i],&s[i+1]);
}
main()
{char * item;
printf(“\nplease input a string:”);
scanf(“%s”,item);
delnum(item);
printf(“\n%s”,item);
}
但当输入如下串时:abc2356er时,输出为:abc36er,中间的36删不掉,请帮忙修改以上程序,使其功能完善.谢谢
>> 本文固定链接: http://www.vcgood.com/archives/2185
#include “stdio.h”
void delnum(char *s)
{int i,j;
for(i=0;i<strlen(s)-1;i++)
if(s[i]>=’0′&&s[i]<=’9′)
{strcpy(&s[i],&s[i+1]);
i–;}
}
main()
{char * item;
printf(“\nplease input a string:”);
scanf(“%s”,item);
delnum(item);
printf(“\n%s”,item);
}
碰到数字后,字符串先进行覆盖,而后i的 值要改变才行,不然就少处理了一位。